ada721648cc1340a58b0adfa53ed447484435ac4
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2011-01-17  Pavel Podivilov  <podivilov@chromium.org>
2
3         Reviewed by Pavel Feldman.
4
5         Web Inspector: refactoring: encapsulate lazy initialization of SourceFrame.
6         https://bugs.webkit.org/show_bug.cgi?id=51738
7
8         Extract content loading logic from SourceView and ScriptView to ContentProvider implementations.
9         Pass ContentProvider in SourceFrame constructor to allow SourceFrame manage it's lazy initialization.
10
11         * inspector/front-end/ScriptView.js:
12         (WebInspector.ScriptView):
13         (WebInspector.SourceFrameContentProviderForScript):
14         (WebInspector.SourceFrameContentProviderForScript.prototype.requestContent.didRequestSource):
15         (WebInspector.SourceFrameContentProviderForScript.prototype.requestContent):
16         (WebInspector.SourceFrameContentProviderForScript.prototype.scripts):
17         * inspector/front-end/ScriptsPanel.js:
18         (WebInspector.ScriptsPanel.prototype._addScript):
19         (WebInspector.ScriptsPanel.prototype.sourceFrameForScript):
20         (WebInspector.ScriptsPanel.prototype._sourceFrameForResource):
21         * inspector/front-end/SourceFrame.js:
22         (WebInspector.SourceFrame):
23         (WebInspector.SourceFrame.prototype.set visible):
24         (WebInspector.SourceFrame.prototype._createTextViewer):
25         (WebInspector.SourceFrame.prototype._breakpointAdded):
26         (WebInspector.SourceFrame.prototype._breakpoints):
27         (WebInspector.SourceFrame.prototype._sourceIDForLine):
28         (WebInspector.SourceFrame.prototype._sourceIDSet):
29         (WebInspector.SourceFrameContentProvider):
30         (WebInspector.SourceFrameContentProvider.prototype.requestContent):
31         (WebInspector.SourceFrameContentProvider.prototype.scripts):
32         * inspector/front-end/SourceView.js:
33         (WebInspector.SourceView):
34         (WebInspector.SourceView.prototype.show):
35         (WebInspector.SourceView.prototype.resize):
36         (WebInspector.SourceView.prototype.performSearch.didFindSearchMatches):
37         (WebInspector.SourceView.prototype.performSearch):
38         (WebInspector.SourceView.prototype.revealLine):
39         (WebInspector.SourceView.prototype.highlightLine):
40         (WebInspector.SourceView.prototype._jumpToSearchResult):
41         (WebInspector.SourceFrameContentProviderForResource):
42         (WebInspector.SourceFrameContentProviderForResource.prototype.requestContent):
43         (WebInspector.SourceFrameContentProviderForResource.prototype.scripts):
44
45 2011-01-17  John Knottenbelt  <jknotten@chromium.org>
46
47         Reviewed by Jeremy Orlow.
48
49         GeolocationController should call stopUpdating on destruction
50         https://bugs.webkit.org/show_bug.cgi?id=52216
51
52         Test: fast/dom/Geolocation/window-close-crash.html
53
54         * page/GeolocationController.cpp:
55         (WebCore::GeolocationController::~GeolocationController):
56
57 2011-01-17  Pavel Feldman  <pfeldman@chromium.org>
58
59         Not reviewed: Qt build fix.
60
61         * inspector/InspectorInstrumentation.h:
62
63 2011-01-16  Pavel Feldman  <pfeldman@chromium.org>
64
65         Reviewed by Yury Semikhatsky.
66
67         Web Inspector: make WebCore use InspectorInstrumentation
68         for instrumentation calls.
69         https://bugs.webkit.org/show_bug.cgi?id=52532
70
71         This change makes WebCore classes issue instrumentation signals
72         by means of InspectorInstrumentation interface. It covered migration
73         for Document, FrameLoader, Database, DOMStorage, etc. It fixed
74         instrumentation handling for Console as well. This all is a part
75         of story described in the bug 52510.
76
77         * dom/Document.cpp:
78         (WebCore::Document::finishedParsing):
79         * dom/Document.h:
80         * dom/ScriptExecutionContext.h:
81         * inspector/InspectorBrowserDebuggerAgent.cpp:
82         (WebCore::InspectorBrowserDebuggerAgent::InspectorBrowserDebuggerAgent):
83         (WebCore::InspectorBrowserDebuggerAgent::setDOMBreakpoint):
84         (WebCore::InspectorBrowserDebuggerAgent::removeDOMBreakpoint):
85         (WebCore::InspectorBrowserDebuggerAgent::willInsertDOMNode):
86         (WebCore::InspectorBrowserDebuggerAgent::willRemoveDOMNode):
87         (WebCore::InspectorBrowserDebuggerAgent::willModifyDOMAttr):
88         (WebCore::InspectorBrowserDebuggerAgent::descriptionForDOMEvent):
89         (WebCore::InspectorBrowserDebuggerAgent::pauseOnNativeEventIfNeeded):
90         (WebCore::InspectorBrowserDebuggerAgent::willSendXMLHttpRequest):
91         * inspector/InspectorBrowserDebuggerAgent.h:
92         (WebCore::InspectorBrowserDebuggerAgent::create):
93         * inspector/InspectorConsoleAgent.cpp:
94         (WebCore::InspectorConsoleAgent::stopTiming):
95         (WebCore::InspectorConsoleAgent::count):
96         * inspector/InspectorConsoleAgent.h:
97         * inspector/InspectorController.cpp:
98         (WebCore::InspectorController::InspectorController):
99         (WebCore::InspectorController::~InspectorController):
100         (WebCore::InspectorController::handleMousePress):
101         (WebCore::InspectorController::didClearWindowObjectInWorld):
102         (WebCore::PostWorkerNotificationToFrontendTask::performTask):
103         * inspector/InspectorController.h:
104         * inspector/InspectorDOMAgent.h:
105         * inspector/InspectorDOMStorageAgent.h:
106         * inspector/InspectorDatabaseAgent.cpp:
107         * inspector/InspectorDatabaseAgent.h:
108         * inspector/InspectorFrontendHost.cpp:
109         * inspector/InspectorFrontendHost.h:
110         * inspector/InspectorInstrumentation.cpp:
111         (WebCore::InspectorInstrumentation::didClearWindowObjectInWorldImpl):
112         (WebCore::InspectorInstrumentation::inspectedPageDestroyedImpl):
113         (WebCore::InspectorInstrumentation::mouseDidMoveOverElementImpl):
114         (WebCore::InspectorInstrumentation::handleMousePressImpl):
115         (WebCore::InspectorInstrumentation::mainResourceFiredLoadEventImpl):
116         (WebCore::InspectorInstrumentation::mainResourceFiredDOMContentEventImpl):
117         (WebCore::InspectorInstrumentation::frameDetachedFromParentImpl):
118         (WebCore::InspectorInstrumentation::didCommitLoadImpl):
119         (WebCore::InspectorInstrumentation::addMessageToConsoleImpl):
120         (WebCore::InspectorInstrumentation::consoleCountImpl):
121         (WebCore::InspectorInstrumentation::startConsoleTimingImpl):
122         (WebCore::InspectorInstrumentation::stopConsoleTimingImpl):
123         (WebCore::InspectorInstrumentation::consoleMarkTimelineImpl):
124         (WebCore::InspectorInstrumentation::addStartProfilingMessageToConsoleImpl):
125         (WebCore::InspectorInstrumentation::didOpenDatabaseImpl):
126         (WebCore::InspectorInstrumentation::didUseDOMStorageImpl):
127         (WebCore::InspectorInstrumentation::didCreateWorkerImpl):
128         (WebCore::InspectorInstrumentation::didDestroyWorkerImpl):
129         (WebCore::InspectorInstrumentation::didCreateWebSocketImpl):
130         (WebCore::InspectorInstrumentation::willSendWebSocketHandshakeRequestImpl):
131         (WebCore::InspectorInstrumentation::didReceiveWebSocketHandshakeResponseImpl):
132         (WebCore::InspectorInstrumentation::didCloseWebSocketImpl):
133         (WebCore::InspectorInstrumentation::networkStateChangedImpl):
134         (WebCore::InspectorInstrumentation::updateApplicationCacheStatusImpl):
135         * inspector/InspectorInstrumentation.h:
136         (WebCore::InspectorInstrumentation::inspectorControllerCreated):
137         (WebCore::InspectorInstrumentation::inspectorControllerDeleted):
138         (WebCore::InspectorInstrumentation::didClearWindowObjectInWorld):
139         (WebCore::InspectorInstrumentation::inspectedPageDestroyed):
140         (WebCore::InspectorInstrumentation::willInsertDOMNode):
141         (WebCore::InspectorInstrumentation::didInsertDOMNode):
142         (WebCore::InspectorInstrumentation::willRemoveDOMNode):
143         (WebCore::InspectorInstrumentation::willModifyDOMAttr):
144         (WebCore::InspectorInstrumentation::didModifyDOMAttr):
145         (WebCore::InspectorInstrumentation::mouseDidMoveOverElement):
146         (WebCore::InspectorInstrumentation::handleMousePress):
147         (WebCore::InspectorInstrumentation::characterDataModified):
148         (WebCore::InspectorInstrumentation::willSendXMLHttpRequest):
149         (WebCore::InspectorInstrumentation::didScheduleResourceRequest):
150         (WebCore::InspectorInstrumentation::didInstallTimer):
151         (WebCore::InspectorInstrumentation::didRemoveTimer):
152         (WebCore::InspectorInstrumentation::willCallFunction):
153         (WebCore::InspectorInstrumentation::willChangeXHRReadyState):
154         (WebCore::InspectorInstrumentation::willDispatchEvent):
155         (WebCore::InspectorInstrumentation::willDispatchEventOnWindow):
156         (WebCore::InspectorInstrumentation::willEvaluateScript):
157         (WebCore::InspectorInstrumentation::willFireTimer):
158         (WebCore::InspectorInstrumentation::willLayout):
159         (WebCore::InspectorInstrumentation::willLoadXHR):
160         (WebCore::InspectorInstrumentation::willPaint):
161         (WebCore::InspectorInstrumentation::willRecalculateStyle):
162         (WebCore::InspectorInstrumentation::identifierForInitialRequest):
163         (WebCore::InspectorInstrumentation::willSendRequest):
164         (WebCore::InspectorInstrumentation::markResourceAsCached):
165         (WebCore::InspectorInstrumentation::didLoadResourceFromMemoryCache):
166         (WebCore::InspectorInstrumentation::willReceiveResourceData):
167         (WebCore::InspectorInstrumentation::willReceiveResourceResponse):
168         (WebCore::InspectorInstrumentation::didReceiveContentLength):
169         (WebCore::InspectorInstrumentation::didFinishLoading):
170         (WebCore::InspectorInstrumentation::didFailLoading):
171         (WebCore::InspectorInstrumentation::resourceRetrievedByXMLHttpRequest):
172         (WebCore::InspectorInstrumentation::scriptImported):
173         (WebCore::InspectorInstrumentation::mainResourceFiredLoadEvent):
174         (WebCore::InspectorInstrumentation::mainResourceFiredDOMContentEvent):
175         (WebCore::InspectorInstrumentation::frameDetachedFromParent):
176         (WebCore::InspectorInstrumentation::didCommitLoad):
177         (WebCore::InspectorInstrumentation::willWriteHTML):
178         (WebCore::InspectorInstrumentation::didOpenDatabase):
179         (WebCore::InspectorInstrumentation::didUseDOMStorage):
180         (WebCore::InspectorInstrumentation::didCreateWorker):
181         (WebCore::InspectorInstrumentation::didDestroyWorker):
182         (WebCore::InspectorInstrumentation::didCreateWebSocket):
183         (WebCore::InspectorInstrumentation::willSendWebSocketHandshakeRequest):
184         (WebCore::InspectorInstrumentation::didReceiveWebSocketHandshakeResponse):
185         (WebCore::InspectorInstrumentation::didCloseWebSocket):
186         (WebCore::InspectorInstrumentation::networkStateChanged):
187         (WebCore::InspectorInstrumentation::updateApplicationCacheStatus):
188         (WebCore::InspectorInstrumentation::addMessageToConsole):
189         (WebCore::InspectorInstrumentation::consoleCount):
190         (WebCore::InspectorInstrumentation::startConsoleTiming):
191         (WebCore::InspectorInstrumentation::stopConsoleTiming):
192         (WebCore::InspectorInstrumentation::consoleMarkTimeline):
193         (WebCore::InspectorInstrumentation::addStartProfilingMessageToConsole):
194         (WebCore::InspectorInstrumentation::inspectorControllerForContext):
195         (WebCore::InspectorInstrumentation::inspectorControllerForFrame):
196         (WebCore::InspectorInstrumentation::inspectorControllerForPage):
197         (WebCore::InspectorInstrumentation::inspectorControllerWithFrontendForContext):
198         (WebCore::InspectorInstrumentation::inspectorControllerWithFrontendForDocument):
199         (WebCore::InspectorInstrumentation::inspectorControllerWithFrontendForFrame):
200         (WebCore::InspectorInstrumentation::inspectorControllerWithFrontendForPage):
201         * inspector/InspectorState.cpp:
202         * loader/FrameLoader.cpp:
203         (WebCore::FrameLoader::detachFromParent):
204         (WebCore::FrameLoader::dispatchDidClearWindowObjectInWorld):
205         (WebCore::FrameLoader::dispatchDidCommitLoad):
206         * page/Chrome.cpp:
207         (WebCore::Chrome::mouseDidMoveOverElement):
208         * page/Console.cpp:
209         (WebCore::Console::addMessage):
210         (WebCore::Console::count):
211         (WebCore::Console::markTimeline):
212         (WebCore::Console::profile):
213         (WebCore::Console::time):
214         (WebCore::Console::timeEnd):
215         (WebCore::Console::group):
216         (WebCore::Console::groupCollapsed):
217         (WebCore::Console::groupEnd):
218         * page/DOMWindow.cpp:
219         (WebCore::DOMWindow::sessionStorage):
220         (WebCore::DOMWindow::localStorage):
221         (WebCore::DOMWindow::dispatchLoadEvent):
222         * page/EventHandler.cpp:
223         (WebCore::EventHandler::handleMousePressEvent):
224         * page/Page.cpp:
225         (WebCore::Page::~Page):
226         * storage/Database.cpp:
227         (WebCore::Database::openDatabase):
228         * workers/AbstractWorker.cpp:
229         (WebCore::AbstractWorker::onDestroyWorker):
230         * workers/SharedWorker.cpp:
231         (WebCore::SharedWorker::create):
232         * workers/Worker.cpp:
233         (WebCore::Worker::create):
234         * workers/WorkerMessagingProxy.cpp:
235
236 2011-01-17  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
237
238         Unreviewed, rolling out r75923.
239
240         GTK guy rolls out the r75914.
241
242         * platform/efl/ScrollViewEfl.cpp:
243         (WebCore::ScrollView::platformInit):
244
245 2011-01-17  Helder Correia  <helder@sencha.com>
246
247         Reviewed by Kenneth Rohde Christiansen.
248
249         [Qt] fast/canvas/canvas-fillPath-gradient-shadow.html does not pass
250         https://bugs.webkit.org/show_bug.cgi?id=52556
251
252         The shadow color opacity needs to be set on the shadow painter.
253         Additionally, the gradient brush should be transformed.
254
255         * platform/graphics/qt/GraphicsContextQt.cpp:
256         (WebCore::GraphicsContext::fillPath):
257
258 2011-01-17  No'am Rosenthal  <noam.rosenthal@nokia.com>
259
260         Reviewed by Kenneth Rohde Christiansen.
261
262         [Qt] Background image rendering is slow
263         https://bugs.webkit.org/show_bug.cgi?id=50527
264
265         When tiling a scaled pixmap in Image::drawPattern, scale the tile
266         first and only then draw it to the target. Do so only when drawing
267         more than one tile.
268
269         Tests in fast/backgrounds/size cover this.
270
271         * platform/graphics/qt/ImageQt.cpp:
272         (WebCore::Image::drawPattern):
273
274 2011-01-17  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
275
276         Reviewed by Simon Hausmann.
277
278         [Qt] [Symbian] Fix building NPAPI support
279         https://bugs.webkit.org/show_bug.cgi?id=51981
280
281         Make sure that npapi.h is always included outside of the extern "C"
282         linkage declaration block.
283
284         No new tests as there is no new functionality.
285
286         * bridge/npruntime.h:
287
288 2011-01-17  Philippe Normand  <pnormand@igalia.com>
289
290         Unreviewed, rolling out r75914.
291         http://trac.webkit.org/changeset/75914
292         https://bugs.webkit.org/show_bug.cgi?id=49177
293
294         multiple crashes on GTK
295
296         * platform/ScrollView.cpp:
297         (WebCore::ScrollView::removeChild):
298         (WebCore::ScrollView::wheelEvent):
299         * platform/gtk/MainFrameScrollbarGtk.cpp:
300         (MainFrameScrollbarGtk::attachAdjustment):
301         (MainFrameScrollbarGtk::gtkValueChanged):
302         * platform/gtk/ScrollViewGtk.cpp:
303         (WebCore::ScrollView::platformInit):
304         (WebCore::ScrollView::platformAddChild):
305         (WebCore::ScrollView::platformRemoveChild):
306
307 2011-01-17  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
308
309         Unreviewed build fix.
310
311         Bug 49177's patch enabled platformInit() in super class(ScrollView).
312         But, it didn't removed the function in ScrollViewEfl.cpp.
313
314         * platform/efl/ScrollViewEfl.cpp:
315
316 2011-01-16  Dan Bernstein  <mitz@apple.com>
317
318         Reviewed by Sam Weinig.
319
320         <rdar://problem/8871903> REGRESSION (r75897): Crash with 0-by-0 iframe in scaled WebView
321
322         Avoid use of FloatRect::enclosingBoundingBox(), which can stretch an empty
323         quad to a non-empty rect.
324
325         * rendering/RenderWidget.cpp:
326         (WebCore::RenderWidget::setWidget):
327         (WebCore::RenderWidget::updateWidgetPosition):
328
329 2011-01-16  Martin Robinson  <mrobinson@igalia.com>
330
331         Reviewed by Xan Lopez.
332
333         [GTK] fast/events/scroll-after-click-on-tab-index has been failing on the bots
334         https://bugs.webkit.org/show_bug.cgi?id=49177
335
336         * platform/ScrollView.cpp: Move the platform guards around a little. GTK+
337         now shares the implementation of platformAddChild and platformRemoveChild,
338         but has its own implementation of removeChild, which knows how to inform
339         main frame scrollbars that they no longer control the WebCore scrollbar.
340         * platform/gtk/MainFrameScrollbarGtk.cpp:
341         (MainFrameScrollbarGtk::attachAdjustment): If we are attaching the same adjustment
342         that we already have, bail out early. Apply the value changed signal handler
343         after configuring the adjustment. We don't want our reset of the adjustment to
344         stomp on WebCore values.
345         (MainFrameScrollbarGtk::gtkValueChanged): Do not adjust the value if the WebCore
346         state already matches ours. This prevents some unnecessary recursion
347         * platform/gtk/ScrollViewGtk.cpp:
348         (WebCore::ScrollView::removeChild): Added, special cases main frame scrollbars
349         which need their adjustments detached.
350
351 2011-01-13  Yuzo Fujishima  <yuzo@google.com>
352
353         Reviewed by Antti Koivisto.
354
355         Fix for Bug 52427 - Inconsistent use of m_cache in CachedResourceLoader
356         https://bugs.webkit.org/show_bug.cgi?id=52427
357
358         In constructor/destructor of CachedResourceLoader, m_cache has been
359         used to call MemoryCache::addCachedResourceLoader/removeCachedResourceLoader
360         while cache() is used everywhere else.
361
362         Actually addCachedResourceLoader/removeCachedResourceLoader need not be called at all.
363         Remove the call sites and make MemoryCache non-friend of CachedResourceLoader.
364
365         No new tests because the behavior remains the same.
366
367         * loader/cache/CachedResourceLoader.cpp:
368         (WebCore::CachedResourceLoader::CachedResourceLoader):
369         (WebCore::CachedResourceLoader::~CachedResourceLoader):
370         * loader/cache/CachedResourceLoader.h:
371         * loader/cache/MemoryCache.cpp:
372         * loader/cache/MemoryCache.h:
373
374 2011-01-16  Adam Barth  <abarth@webkit.org>
375
376         Rubber-stamped by Eric Seidel.
377
378         Move WebKit into Source
379         https://bugs.webkit.org/show_bug.cgi?id=52530
380
381         * WebCore.gyp/WebCore.gyp:
382         * WebCore.pri:
383         * WebCore.pro:
384
385 2011-01-16  Simon Fraser  <simon.fraser@apple.com>
386
387         Reviewed by Dan Bernstein.
388
389         frame-removed-during-resize.html test crashes (shows up as image-map-2.html crash)
390         https://bugs.webkit.org/show_bug.cgi?id=52549
391
392         Fix regression from r75900; m_widget->setFrameRect() can run script that
393         clears m_widget, so null-check it before calling setBoundsSize().
394         
395         Tested by fast/replaced/frame-removed-during-resize.html
396
397         * rendering/RenderWidget.cpp:
398         (WebCore::RenderWidget::setWidgetGeometry):
399
400 2011-01-16  Simon Fraser  <simon.fraser@apple.com>
401
402         Keep Leopard build happy.
403
404         * platform/mac/WidgetMac.mm:
405         (WebCore::Widget::setBoundsSize):
406
407 2011-01-16  Robert Hogan  <robert@webkit.org>
408
409         Reviewed by Andreas Kling.
410
411         [Qt] plugins/keyboard-events.html fails after r72717
412         https://bugs.webkit.org/show_bug.cgi?id=50050
413
414         * plugins/qt/PluginViewQt.cpp:
415         (WebCore::setXKeyEventSpecificFields): map event text to keycode
416
417 2011-01-16  Simon Fraser  <simon.fraser@apple.com>
418
419         Reviewed by Dan Bernstein.
420
421         Issues with iframes and plugins when the WebView is scaled.
422         <rdar://problem/6213380>
423         
424         When _scaleWebView has been called on a WebView, iframes
425         in WebKit1 render and hit-test incorrectly, and plug-ins don't scale up.
426         This is caused by AppKit NSViews not playing nicely with the scale
427         applied through style.
428         
429         Work around most of these issues by adjusting the bounds size
430         of widgets to allow iframe contents to paint with the correct scale,
431         and fix various places in the code where we relied on coordinate
432         transforms via NSViews (which ignore CSS transforms).
433
434         * WebCore.exp.in:
435         * platform/Widget.cpp:
436         (WebCore::Widget::setBoundsSize):
437         * platform/Widget.h:
438         * platform/mac/WidgetMac.mm:
439         (WebCore::Widget::setBoundsSize):
440         (WebCore::Widget::paint):
441         * rendering/RenderLayerCompositor.cpp:
442         (WebCore::RenderLayerCompositor::shouldPropagateCompositingToEnclosingIFrame):
443         * rendering/RenderWidget.cpp:
444         (WebCore::RenderWidget::setWidgetGeometry):
445         (WebCore::RenderWidget::setWidget):
446         (WebCore::RenderWidget::updateWidgetPosition):
447         * rendering/RenderWidget.h:
448
449 2011-01-16  Simon Fraser  <simon.fraser@apple.com>
450
451         Reviewed by Dan Bernstein.
452
453         RenderView needs to take transforms on its layer into account
454         https://bugs.webkit.org/show_bug.cgi?id=52536
455         
456         The RenderView's coordinate mapping methods failed to
457         take into account a transform on the RenderView's layer.
458
459         No tests because it's not possible to get a transform
460         on the RenderView's layer through content.
461
462         * rendering/RenderView.cpp:
463         (WebCore::RenderView::mapLocalToContainer):
464         (WebCore::RenderView::mapAbsoluteToLocalPoint):
465
466 2011-01-15  Sheriff Bot  <webkit.review.bot@gmail.com>
467
468         Unreviewed, rolling out r75708.
469         http://trac.webkit.org/changeset/75708
470         https://bugs.webkit.org/show_bug.cgi?id=52521
471
472         Breaks Qt build if mobility is not installed. (Requested by
473         benjaminp on #webkit).
474
475         * WebCore.pro:
476         * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
477         (WebCore::MediaPlayerPrivateQt::MediaPlayerPrivateQt):
478         * platform/graphics/qt/MediaPlayerPrivateQt.h:
479         (WebCore::MediaPlayerPrivateQt::supportsFullscreen):
480
481 2011-01-15  David Kilzer  <ddkilzer@apple.com>
482
483         <http://webkit.org/b/52512> REGRESSION(r73818): range.cloneContents() ignores end offset
484
485         Reviewed by Adele Peterson.
486
487         The fix for Bug 50710 in r73799 introduced an off-by-one error
488         when copying nodes to a local NodeVector for processing.  A fix
489         was attempted for Bug 50854 in r73818, but instead of stopping
490         at the end offset, it iterates through all the sibling nodes
491         because the loop variable (i) is never incremented.  To clean
492         this up, revert back to the code in r73799 and fix the
493         off-by-one error.
494
495         Test: fast/dom/Range/range-clone-contents.html
496
497         * dom/Range.cpp:
498         (WebCore::Range::processContents): Fix the loop that copies
499         nodes to a local NodeVector by restoring the code from r73799
500         and fixing the off-by-one error.
501
502 2011-01-15  Adam Barth  <abarth@webkit.org>
503
504         Rubber-stamped by Eric Seidel.
505
506         Move WebKit2 into Source
507         https://bugs.webkit.org/show_bug.cgi?id=52438
508
509         * WebCore.pro:
510
511 2011-01-15  Joone Hur  <joone.hur@collabora.co.uk>
512
513         Reviewed by Martin Robinson.
514
515         [GTK] Linux build with FileSystem API enabled fails
516         https://bugs.webkit.org/show_bug.cgi?id=43878
517
518         This patch allows WebKitGtk+ to build with FileSystem API option.
519
520         No new tests because no new functionality.
521
522         * GNUmakefile.am: Included AsyncFileSystem.h,cpp and Excluded duplicated JSFileException.h,cpp.
523         * bindings/js/JSDirectoryEntryCustom.cpp: Included ExceptionCode.h.
524
525 2011-01-14  Sam Magnuson  <smagnuso@gmail.com>
526
527         Reviewed by Kenneth Rohde Christiansen.
528
529         [Qt] Compile with QT_NO_GRAPHICSVIEW
530         https://bugs.webkit.org/show_bug.cgi?id=49750
531
532         * platform/graphics/qt/GraphicsLayerQt.cpp:
533         * platform/graphics/qt/GraphicsLayerQt.h:
534         * platform/qt/PlatformMouseEventQt.cpp:
535
536 2011-01-14  Tony Chang  <tony@chromium.org>
537
538         Reviewed by Alexey Proskuryakov.
539
540         Strip NUL character when copying text on Windows
541         https://bugs.webkit.org/show_bug.cgi?id=52236
542
543         Test: editing/pasteboard/copy-null-characters.html
544
545         * editing/Editor.cpp:
546         (WebCore::Editor::selectedText):
547         * platform/mac/PasteboardMac.mm:
548         (WebCore::Pasteboard::writeSelection): Use editor()->selectedText() which matches the other platforms.
549
550 2011-01-14  Yuzo Fujishima  <yuzo@google.com>
551
552         Reviewed by Antti Koivisto.
553
554         Rename cache() to memoryCache()
555         https://bugs.webkit.org/show_bug.cgi?id=52433
556
557         No new tests because the behavior remains the same.
558
559         * WebCore.exp.in:
560         * WebCore.order:
561         * history/PageCache.cpp:
562         (WebCore::PageCache::releaseAutoreleasedPagesNow):
563         * inspector/InspectorResourceAgent.cpp:
564         (WebCore::InspectorResourceAgent::cachedResource):
565         * loader/FrameLoader.cpp:
566         (WebCore::FrameLoader::tellClientAboutPastMemoryCacheLoads):
567         * loader/archive/cf/LegacyWebArchive.cpp:
568         (WebCore::LegacyWebArchive::create):
569         * loader/cache/CachedImage.cpp:
570         (WebCore::CachedImage::allClientsRemoved):
571         (WebCore::CachedImage::data):
572         * loader/cache/CachedResource.cpp:
573         (WebCore::CachedResource::~CachedResource):
574         (WebCore::CachedResource::addClientToSet):
575         (WebCore::CachedResource::removeClient):
576         (WebCore::CachedResource::setDecodedSize):
577         (WebCore::CachedResource::setEncodedSize):
578         (WebCore::CachedResource::didAccessDecodedData):
579         * loader/cache/CachedResourceLoader.cpp:
580         (WebCore::CachedResourceLoader::CachedResourceLoader):
581         (WebCore::CachedResourceLoader::requestUserCSSStyleSheet):
582         (WebCore::CachedResourceLoader::requestResource):
583         (WebCore::CachedResourceLoader::revalidateResource):
584         (WebCore::CachedResourceLoader::loadResource):
585         (WebCore::CachedResourceLoader::clearPreloads):
586         (WebCore::CachedResourceLoader::printPreloadStats):
587         * loader/cache/CachedResourceRequest.cpp:
588         (WebCore::CachedResourceRequest::load):
589         (WebCore::CachedResourceRequest::didFail):
590         (WebCore::CachedResourceRequest::didReceiveResponse):
591         * loader/cache/MemoryCache.cpp:
592         (WebCore::memoryCache):
593         * loader/cache/MemoryCache.h:
594
595 2011-01-14  Dan Bernstein  <mitz@apple.com>
596
597         Reviewed by Simon Fraser.
598
599         WebCore part of <rdar://problem/8441312> Crash in -[NSView _invalidateGStatesForTree]
600
601         * WebCore.exp.in: Export RenderWidget::suspendWidgetHierarchyUpdates() and
602         RenderWidget::resumeWidgetHierarchyUpdates().
603         * manual-tests/plug-in-mutates-NSView-hierarchy-during-resize.html: Added.
604         * rendering/RenderWidget.cpp:
605         (WebCore::RenderWidget::setWidgetGeometry): Removed the assertion that widget hierarchy updates
606         are disabled. When this assertion was added, this condition was a subset of the “calling out to
607         plug-in code is forbidden” condition, hence the assertion was valid. The WebKit part of this
608         change now suspends widget hierarchy updates even at times where plug-in code is expected to be
609         called, which invalidates the assertion.
610
611 2011-01-14  Tony Gentilcore  <tonyg@chromium.org>
612
613         Unreviewed build fix.
614
615         Fix Qt build after r75837
616         https://bugs.webkit.org/show_bug.cgi?id=52494
617
618         * rendering/style/StyleRareInheritedData.cpp:
619         * rendering/style/StyleRareNonInheritedData.cpp:
620
621 2011-01-14  Tony Gentilcore  <tonyg@chromium.org>
622
623         Unreviewed build fix.
624
625         Fix Qt build after r75837
626         https://bugs.webkit.org/show_bug.cgi?id=52494
627
628         * rendering/style/RenderStyle.cpp:
629
630 2011-01-14  Tony Gentilcore  <tonyg@chromium.org>
631
632         Unreviewed build fix.
633
634         Fix Qt build after r75837
635         https://bugs.webkit.org/show_bug.cgi?id=52494
636
637         * editing/EditorCommand.cpp:
638
639 2011-01-14  Tony Gentilcore  <tonyg@chromium.org>
640
641         Unreviewed build fix.
642
643         Fix Qt build after r75837
644         https://bugs.webkit.org/show_bug.cgi?id=52494
645
646         * editing/ApplyStyleCommand.cpp:
647
648 2011-01-14  Tony Gentilcore  <tonyg@chromium.org>
649
650         Unreviewed build fix.
651
652         Fix Qt build after r75837
653         https://bugs.webkit.org/show_bug.cgi?id=52494
654
655         * css/CSSStyleSelector.cpp:
656
657 2011-01-14  Tony Gentilcore  <tonyg@chromium.org>
658
659         Unreviewed build fix.
660
661         Fix Qt build after r75837
662         https://bugs.webkit.org/show_bug.cgi?id=52494
663
664         * rendering/InlineFlowBox.h:
665         * rendering/RenderBoxModelObject.h:
666
667 2011-01-14  Tony Gentilcore  <tonyg@chromium.org>
668
669         Reviewed by David Levin.
670
671         Do some forward declaration in RenderStyle.h
672         https://bugs.webkit.org/show_bug.cgi?id=52453
673
674         No new tests because no new functionality.
675
676         * css/CSSComputedStyleDeclaration.cpp:
677         * css/CSSStyleSelector.cpp:
678         * editing/Editor.cpp:
679         * page/EventHandler.cpp:
680         * rendering/EllipsisBox.cpp:
681         * rendering/InlineBox.cpp:
682         * rendering/InlineTextBox.cpp:
683         * rendering/RenderBlock.cpp:
684         * rendering/RenderBlock.h:
685         * rendering/RenderBox.cpp:
686         * rendering/RenderBox.h:
687         * rendering/RenderEmbeddedObject.cpp:
688         * rendering/RenderFieldset.cpp:
689         * rendering/RenderFileUploadControl.cpp:
690         * rendering/RenderFrameSet.cpp:
691         * rendering/RenderHTMLCanvas.cpp:
692         * rendering/RenderImageResource.cpp:
693         * rendering/RenderInputSpeech.cpp:
694         * rendering/RenderLayer.h:
695         * rendering/RenderLineBoxList.cpp:
696         * rendering/RenderListBox.cpp:
697         * rendering/RenderMediaControlsChromium.cpp:
698         * rendering/RenderObject.cpp:
699         * rendering/RenderObject.h:
700         * rendering/RenderObjectChildList.cpp:
701         * rendering/RenderProgress.cpp:
702         * rendering/RenderScrollbarPart.cpp:
703         * rendering/RenderTable.cpp:
704         * rendering/RenderTable.h:
705         * rendering/RenderTableCell.cpp:
706         * rendering/RenderTableRow.cpp:
707         * rendering/RenderTableSection.cpp:
708         * rendering/RenderTheme.cpp:
709         * rendering/RenderThemeChromiumSkia.cpp:
710         * rendering/RenderThemeChromiumWin.cpp:
711         * rendering/RootInlineBox.cpp:
712         * rendering/style/RenderStyle.cpp:
713         * rendering/style/RenderStyle.h:
714         * rendering/style/StyleRareInheritedData.cpp:
715
716 2011-01-14  Ryosuke Niwa  <rniwa@webkit.org>
717
718         Reviewed by Eric Seidel.
719
720         Stop instantiating legacy editing positions in AccessibilityRenderObject.cpp, Element.cpp,
721         BreakBlockquoteCommand.cpp, CompositeEditCommand.cpp, and DeleteButtonController.cpp
722         https://bugs.webkit.org/show_bug.cgi?id=52481
723
724         Removed instantiation of legacy editing positions.
725         Calls to Position::Position are replaced by calls to Position's convenience functions.
726         
727         Also fixed firstPositionInOrBeforeNode and lastPositionInOrAfterNode so that
728         they instantiate right positions for text nodes.
729
730         * accessibility/AccessibilityRenderObject.cpp:
731         (WebCore::AccessibilityRenderObject::setSelectedTextRange):
732         * dom/Element.cpp:
733         (WebCore::Element::updateFocusAppearance):
734         * editing/BreakBlockquoteCommand.cpp:
735         (WebCore::BreakBlockquoteCommand::doApply):
736         * editing/CompositeEditCommand.cpp:
737         (WebCore::CompositeEditCommand::inputText):
738         (WebCore::CompositeEditCommand::rebalanceWhitespaceAt):
739         (WebCore::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary):
740         (WebCore::CompositeEditCommand::moveParagraphs):
741         (WebCore::CompositeEditCommand::breakOutOfEmptyListItem):
742         (WebCore::CompositeEditCommand::breakOutOfEmptyMailBlockquotedParagraph):
743         (WebCore::CompositeEditCommand::splitTreeToNode):
744         * editing/DeleteButtonController.cpp:
745         (WebCore::enclosingDeletableElement):
746         * editing/htmlediting.h:
747         (WebCore::firstPositionInOrBeforeNode): Instantiates firstPositionInNode instead of
748         positionBeforeNode for a text node.
749         (WebCore::lastPositionInOrAfterNode): Ditto.
750
751 2011-01-14  Helder Correia  <helder@sencha.com>
752
753         Reviewed by Simon Fraser.
754
755         Shadow is not drawn when filling a path with a gradient
756         https://bugs.webkit.org/show_bug.cgi?id=51982
757
758         This happens in CG and is related to bug 51869, this time to be fixed
759         in GraphicsContext::fillPath(const Path& path). We need to draw the
760         gradient clipped to the path on a CGLayer first, and then draw the
761         layer on the GraphicsContext.
762
763         Test: fast/canvas/canvas-fillPath-gradient-shadow.html
764
765         * platform/graphics/cg/GraphicsContextCG.cpp:
766         (WebCore::GraphicsContext::fillPath):
767
768 2011-01-14  Simon Fraser  <simon.fraser@apple.com>
769
770         Reviewed by Adam Roben.
771
772         Layer syncing should go through the compositor
773         https://bugs.webkit.org/show_bug.cgi?id=52486
774
775         Rather than have FrameView go directly to GraphicsLayer to
776         sync pending changes, route the call through RenderLayerCompositor.
777         
778         Add a FIXME about an existing issue with flushing and subframes.
779         
780         No behavior change, so no tests.
781
782         * page/FrameView.cpp:
783         (WebCore::FrameView::syncCompositingStateForThisFrame):
784         * rendering/RenderLayerBacking.cpp:
785         (WebCore::RenderLayerBacking::notifySyncRequired):
786         * rendering/RenderLayerCompositor.cpp:
787         (WebCore::RenderLayerCompositor::scheduleLayerFlush):
788         (WebCore::RenderLayerCompositor::flushPendingLayerChanges):
789         * rendering/RenderLayerCompositor.h:
790         (WebCore::RenderLayerCompositor::notifySyncRequired):
791
792 2011-01-14  Abhishek Arya  <inferno@chromium.org>
793
794         Reviewed by David Hyatt.
795
796         Fix parent block calculation when trying to find top most node
797         containing "this" float.
798         https://bugs.webkit.org/show_bug.cgi?id=51711
799
800         Replace use of containingBlock and traverse the parents directly
801         to check for float existence. containingBlock can skip parents and
802         jump to the RenderView directly which will cause floats to not get
803         cleared from intermediate parents.
804
805         Test: fast/block/float/floats-not-cleared-crash.html
806
807         * rendering/RenderBox.cpp:
808         (WebCore::RenderBox::removeFloatingOrPositionedChildFromBlockLists):
809
810 2011-01-14  Adam Klein  <adamk@chromium.org>
811
812         Reviewed by Darin Fisher.
813
814         [Chromium] Replace BackForwardListClient with BackForwardControllerClient/BackForwardList
815         https://bugs.webkit.org/show_bug.cgi?id=42237
816
817         Remove Chromium-specific implementation from WebCore.
818
819         No tests added; this refactor should be covered by existing history-exercising tests.
820
821         * WebCore.gyp/WebCore.gyp:
822         * WebCore.gypi:
823         * history/BackForwardListChromium.cpp: Removed.
824         * history/BackForwardListImpl.h:
825
826 2011-01-12  Satish Sampath  <satish@chromium.org>
827
828         Reviewed by Dimitri Glazkov.
829
830         Fix a crash when accessing speech input from script.
831         https://bugs.webkit.org/show_bug.cgi?id=52325
832
833         Test: fast/speech/speech-input-scripting.html
834
835         * html/HTMLInputElement.cpp:
836         (WebCore::HTMLInputElement::parseMappedAttribute): Recreate renderer when speech input is enabled/disabled.
837         * rendering/RenderTextControlSingleLine.cpp: Remove unused code.
838         * rendering/RenderTextControlSingleLine.h:
839         * rendering/TextControlInnerElements.cpp: Take self references before firing events and check for renderer validity after.
840         (WebCore::InputFieldSpeechButtonElement::defaultEventHandler):
841         (WebCore::InputFieldSpeechButtonElement::setRecognitionResult):
842         (WebCore::InputFieldSpeechButtonElement::detach):
843
844 2011-01-14  Abhishek Arya  <inferno@chromium.org>
845
846         Reviewed by David Hyatt.
847
848         Prevent merging of anonymous blocks if one of them is already getting
849         destroyed.
850         https://bugs.webkit.org/show_bug.cgi?id=52402
851
852         Test: fast/block/merge-anonymous-block-remove-child-crash2.html
853
854         * rendering/RenderBlock.cpp:
855         (WebCore::RenderBlock::RenderBlock): initialize m_beingDestroyed to false.
856         (WebCore::RenderBlock::destroy): set m_beingDestroyed to true.
857         (WebCore::canMergeContiguousAnonymousBlocks): do not merge if any or prev or next is being destroyed.
858         (WebCore::RenderBlock::removeChild): remove the hack previously done for preventing oldChild merging with nextBlock's next sibling.
859         * rendering/RenderBlock.h:
860         (WebCore::RenderBlock::beingDestroyed): public function for m_beingDestroyed.
861
862 2011-01-14  Pavel Feldman  <pfeldman@chromium.org>
863
864         Not reviewed. Follow up to r75791: fix missing dispatch.
865         https://bugs.webkit.org/show_bug.cgi?id=52442
866
867         * inspector/front-end/DebuggerModel.js:
868         (WebInspector.DebuggerDispatcher.prototype.breakpointResolved):
869
870 2011-01-14  Simon Fraser  <simon.fraser@apple.com>
871
872         Reviewed by Adam Roben.
873
874         Issues with contentsScale in GraphicsLayerCA
875         https://bugs.webkit.org/show_bug.cgi?id=52463
876
877         Fix various issues with the recent contentsScale changes:
878
879         * platform/graphics/ca/GraphicsLayerCA.cpp:
880         (WebCore::GraphicsLayerCA::GraphicsLayerCA): Initialize m_contentsScale to 1.
881         (WebCore::GraphicsLayerCA::updateContentsScale): Only do a setNeedsDisplay()
882         if the layer draws content, otherwise we'll create backing store for empty layers.
883         (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer): Be sure to set contentsScale
884         on the new (tiled or untiled) layer.
885         (WebCore::GraphicsLayerCA::cloneLayer): Clones need contentsScale too.
886
887 2011-01-14  Simon Fraser  <simon.fraser@apple.com>
888
889         Let Xcode have it's way with the project file.
890
891         * WebCore.xcodeproj/project.pbxproj:
892
893 2011-01-14  Simon Fraser  <simon.fraser@apple.com>
894
895         Reviewed by Anders Carlsson.
896
897         Refactor some FrameView::syncCompositingState code
898         https://bugs.webkit.org/show_bug.cgi?id=52459
899
900         Refactor some code in FrameView related to synchronizing
901         compositing layer state.
902         
903         * page/FrameView.cpp:
904         (WebCore::FrameView::syncCompositingStateForThisFrame):
905         (WebCore::FrameView::syncCompositingStateRecursive):
906         (WebCore::FrameView::paintContents):
907         * page/FrameView.h:
908
909 2011-01-14  Viatcheslav Ostapenko  <ostapenko.viatcheslav@nokia.com>
910
911         Reviewed by Eric Seidel.
912
913         [Qt] Fix build problem introduced by http://trac.webkit.org/changeset/75713
914         https://bugs.webkit.org/show_bug.cgi?id=30179
915
916         * plugins/symbian/PluginViewSymbian.cpp:
917
918 2011-01-14  Carlos Garcia Campos  <cgarcia@igalia.com>
919
920         Reviewed by Martin Robinson.
921
922         [GTK] Add volume slider to media player
923         https://bugs.webkit.org/show_bug.cgi?id=51532
924
925         * css/mediaControlsGtk.css:
926         (audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel):
927         (audio::-webkit-media-controls-volume-slider-container, video::-webkit-media-controls-volume-slider-container):
928         (audio::-webkit-media-controls-volume-slider, video::-webkit-media-controls-volume-slider):
929         * platform/gtk/RenderThemeGtk.cpp:
930         (WebCore::RenderThemeGtk::adjustMediaSliderThumbSize):
931         (WebCore::RenderThemeGtk::paintMediaVolumeSliderContainer):
932         (WebCore::RenderThemeGtk::paintMediaVolumeSliderTrack):
933         (WebCore::RenderThemeGtk::paintMediaVolumeSliderThumb):
934         * platform/gtk/RenderThemeGtk.h:
935         * platform/gtk/RenderThemeGtk2.cpp:
936         (WebCore::RenderThemeGtk::paintSliderTrack):
937         (WebCore::RenderThemeGtk::paintSliderThumb):
938         (WebCore::RenderThemeGtk::adjustSliderThumbSize):
939         * platform/gtk/RenderThemeGtk3.cpp:
940         (WebCore::RenderThemeGtk::paintSliderTrack):
941         (WebCore::RenderThemeGtk::paintSliderThumb):
942         (WebCore::RenderThemeGtk::adjustSliderThumbSize):
943
944 2011-01-14  Joone Hur  <joone.hur@collabora.co.uk>
945
946         Reviewed by David Levin.
947
948         [GTK] Convert use of raw pointers to GOwnPtr in FileSystemGtk.cpp
949         https://bugs.webkit.org/show_bug.cgi?id=52434
950
951         No new tests. This code will be tested when an implementation 
952         of beginDragWithFiles is complete. 
953
954         * platform/gtk/FileSystemGtk.cpp:
955         (WebCore::filenameToString): Use GOwnPtr instead of gchar pointer.
956         (WebCore::fileSystemRepresentation): Ditto.
957         (WebCore::filenameForDisplay): Ditto.
958         (WebCore::pathGetFileName): Ditto.
959
960 2011-01-14  Pavel Podivilov  <podivilov@chromium.org>
961
962         Reviewed by Yury Semikhatsky.
963
964         Web Inspector: breakpoint text snippet in breakpoints sidebar pane disappears after reload.
965         https://bugs.webkit.org/show_bug.cgi?id=52215
966
967         * inspector/front-end/Breakpoint.js:
968         (WebInspector.Breakpoint):
969         (WebInspector.Breakpoint.prototype.populateLabelElement):
970         * inspector/front-end/Script.js:
971         (WebInspector.Script.prototype.get linesCount):
972         (WebInspector.Script.prototype.sourceLine):
973         (WebInspector.Script.prototype.sourceLine.didRequestSource):
974         (WebInspector.Script.prototype.set source):
975         (WebInspector.Script.prototype.requestSource.didGetScriptSource):
976         (WebInspector.Script.prototype.requestSource):
977         * inspector/front-end/ScriptView.js:
978         (WebInspector.ScriptView.prototype.setupSourceFrameIfNeeded.didRequestSource):
979         (WebInspector.ScriptView.prototype.setupSourceFrameIfNeeded):
980         * inspector/front-end/SourceFrame.js:
981         (WebInspector.SourceFrame.prototype._addBreakpoint):
982         * inspector/front-end/utilities.js:
983         (String.prototype.findAll):
984
985 2011-01-14  Pavel Podivilov  <podivilov@chromium.org>
986
987         Reviewed by Yury Semikhatsky.
988
989         Web Inspector: provide script column offset to frontend.
990         https://bugs.webkit.org/show_bug.cgi?id=52377
991
992         * bindings/js/ScriptDebugServer.cpp:
993         (WebCore::ScriptDebugServer::dispatchDidParseSource):
994         * bindings/js/ScriptSourceCode.h:
995         (WebCore::ScriptSourceCode::ScriptSourceCode):
996         * bindings/v8/DebuggerScript.js:
997         ():
998         * bindings/v8/ScriptDebugServer.cpp:
999         (WebCore::ScriptDebugServer::dispatchDidParseSource):
1000         * inspector/Inspector.idl:
1001         * inspector/InspectorDebuggerAgent.cpp:
1002         (WebCore::InspectorDebuggerAgent::didParseSource):
1003         * inspector/InspectorDebuggerAgent.h:
1004         * inspector/ScriptDebugListener.h:
1005         * inspector/front-end/DebuggerModel.js:
1006         (WebInspector.DebuggerModel.prototype.parsedScriptSource):
1007         * inspector/front-end/Script.js:
1008         (WebInspector.Script):
1009
1010 2011-01-14  Ilya Tikhonovsky  <loislo@chromium.org>
1011
1012         Unreviewed one line fix for console-xhr-logging test.
1013
1014         The problem was introduced at r75788.
1015
1016         * inspector/InspectorBrowserDebuggerAgent.cpp:
1017         (WebCore::InspectorBrowserDebuggerAgent::willSendXMLHttpRequest):
1018
1019 2011-01-13  Yury Semikhatsky  <yurys@chromium.org>
1020
1021         Reviewed by Pavel Feldman.
1022
1023         Web Inspector: extract console related functionality into InspectorConsoleAgent
1024         https://bugs.webkit.org/show_bug.cgi?id=52282
1025
1026         * CMakeLists.txt:
1027         * GNUmakefile.am:
1028         * WebCore.gypi:
1029         * WebCore.pro:
1030         * inspector/CodeGeneratorInspector.pm:
1031         * inspector/ConsoleMessage.cpp:
1032         (WebCore::ConsoleMessage::~ConsoleMessage):
1033         * inspector/ConsoleMessage.h:
1034         * inspector/Inspector.idl:
1035         * inspector/InspectorConsoleAgent.cpp: Added.
1036         (WebCore::InspectorConsoleAgent::InspectorConsoleAgent):
1037         (WebCore::InspectorConsoleAgent::~InspectorConsoleAgent):
1038         (WebCore::InspectorConsoleAgent::setConsoleMessagesEnabled):
1039         (WebCore::InspectorConsoleAgent::clearConsoleMessages):
1040         (WebCore::InspectorConsoleAgent::reset):
1041         (WebCore::InspectorConsoleAgent::setFrontend):
1042         (WebCore::InspectorConsoleAgent::addMessageToConsole):
1043         (WebCore::InspectorConsoleAgent::startTiming):
1044         (WebCore::InspectorConsoleAgent::stopTiming):
1045         (WebCore::InspectorConsoleAgent::count):
1046         (WebCore::InspectorConsoleAgent::resourceRetrievedByXMLHttpRequest):
1047         (WebCore::InspectorConsoleAgent::didReceiveResponse):
1048         (WebCore::InspectorConsoleAgent::didFailLoading):
1049         (WebCore::InspectorConsoleAgent::addConsoleMessage):
1050         * inspector/InspectorConsoleAgent.h: Added.
1051         * inspector/InspectorController.cpp:
1052         (WebCore::InspectorController::InspectorController):
1053         (WebCore::InspectorController::clearConsoleMessages):
1054         (WebCore::InspectorController::connectFrontend):
1055         (WebCore::InspectorController::disconnectFrontend):
1056         (WebCore::InspectorController::didCommitLoad):
1057         * inspector/InspectorController.h:
1058         (WebCore::InspectorController::consoleAgent):
1059         * inspector/InspectorInstrumentation.cpp:
1060         (WebCore::InspectorInstrumentation::didReceiveResourceResponseImpl):
1061         (WebCore::InspectorInstrumentation::didFailLoadingImpl):
1062         (WebCore::InspectorInstrumentation::resourceRetrievedByXMLHttpRequestImpl):
1063         (WebCore::InspectorInstrumentation::addMessageToConsole):
1064         (WebCore::InspectorInstrumentation::count):
1065         (WebCore::InspectorInstrumentation::startTiming):
1066         (WebCore::InspectorInstrumentation::stopTiming):
1067         (WebCore::InspectorInstrumentation::addStartProfilingMessageToConsole):
1068         * inspector/InspectorInstrumentation.h:
1069         * inspector/InspectorProfilerAgent.cpp:
1070         (WebCore::InspectorProfilerAgent::addProfileFinishedMessageToConsole):
1071         (WebCore::InspectorProfilerAgent::addStartProfilingMessageToConsole):
1072         * inspector/front-end/ConsoleView.js:
1073         (WebInspector.ConsoleView):
1074         (WebInspector.ConsoleView.prototype.addConsoleMessage):
1075         (WebInspector.ConsoleView.prototype.updateConsoleMessageExpiredCount):
1076         (WebInspector.ConsoleView.prototype.consoleMessagesCleared):
1077         * inspector/front-end/inspector.js:
1078         * page/Console.cpp:
1079         (WebCore::Console::addMessage):
1080         (WebCore::Console::count):
1081         (WebCore::Console::profile):
1082         (WebCore::Console::time):
1083         (WebCore::Console::timeEnd):
1084         (WebCore::Console::group):
1085         (WebCore::Console::groupCollapsed):
1086         (WebCore::Console::groupEnd):
1087         * page/Console.h:
1088         * page/Console.idl:
1089
1090 2011-01-14  Pavel Feldman  <pfeldman@chromium.org>
1091
1092         Reviewed by Yury Semikhatsky.
1093
1094         Web Inspector: do not use this as protocol message
1095         dispatcher in models / agents.
1096         https://bugs.webkit.org/show_bug.cgi?id=52442
1097
1098         Models should never for InspectorBackend.registerDomainDispatcher("foo", this).
1099         There should be a clear way to tell whether method is being called
1100         from within front-end or by the backend.
1101
1102         * inspector/front-end/DOMAgent.js:
1103         (WebInspector.DOMAgent):
1104         (WebInspector.DOMAgent.prototype.nodeForId):
1105         (WebInspector.DOMAgent.prototype._bindNodes):
1106         (WebInspector.DOMAgent.prototype._removeBreakpoints):
1107         (WebInspector.DOMDispatcher):
1108         (WebInspector.DOMDispatcher.prototype.setDocument):
1109         (WebInspector.DOMDispatcher.prototype.attributesUpdated):
1110         (WebInspector.DOMDispatcher.prototype.characterDataModified):
1111         (WebInspector.DOMDispatcher.prototype.setChildNodes):
1112         (WebInspector.DOMDispatcher.prototype.setDetachedRoot):
1113         (WebInspector.DOMDispatcher.prototype.childNodeCountUpdated):
1114         (WebInspector.DOMDispatcher.prototype.childNodeInserted):
1115         (WebInspector.DOMDispatcher.prototype.childNodeRemoved):
1116         (WebInspector.DOMDispatcher.prototype.didCommitLoad):
1117         (WebInspector.ApplicationCacheDispatcher):
1118         (WebInspector.ApplicationCacheDispatcher.prototype.getApplicationCachesAsync):
1119         (WebInspector.ApplicationCacheDispatcher.prototype.updateApplicationCacheStatus):
1120         (WebInspector.ApplicationCacheDispatcher.prototype.updateNetworkState):
1121         * inspector/front-end/DOMStorage.js:
1122         (WebInspector.DOMStorageDispatcher):
1123         (WebInspector.DOMStorageDispatcher.prototype.addDOMStorage):
1124         (WebInspector.DOMStorageDispatcher.prototype.selectDOMStorage):
1125         (WebInspector.DOMStorageDispatcher.prototype.updateDOMStorage):
1126         * inspector/front-end/Database.js:
1127         (WebInspector.Database.prototype.executeSql):
1128         (WebInspector.DatabaseDispatcher):
1129         (WebInspector.DatabaseDispatcher.prototype.addDatabase):
1130         (WebInspector.DatabaseDispatcher.prototype.selectDatabase):
1131         (WebInspector.DatabaseDispatcher.prototype.sqlTransactionSucceeded):
1132         (WebInspector.DatabaseDispatcher.prototype.sqlTransactionFailed):
1133         * inspector/front-end/DebuggerModel.js:
1134         (WebInspector.DebuggerModel):
1135         (WebInspector.DebuggerModel.prototype._pausedScript):
1136         (WebInspector.DebuggerModel.prototype._resumedScript):
1137         (WebInspector.DebuggerModel.prototype._parsedScriptSource):
1138         (WebInspector.DebuggerModel.prototype._failedToParseScriptSource):
1139         (WebInspector.DebuggerDispatcher):
1140         (WebInspector.DebuggerDispatcher.prototype.pausedScript):
1141         (WebInspector.DebuggerDispatcher.prototype.resumedScript):
1142         (WebInspector.DebuggerDispatcher.prototype.parsedScriptSource):
1143         (WebInspector.DebuggerDispatcher.prototype.failedToParseScriptSource):
1144         * inspector/front-end/FileSystemView.js:
1145         (WebInspector.FileSystemDispatcher):
1146         (WebInspector.FileSystemDispatcher.prototype.getFileSystemPathsAsync):
1147         (WebInspector.FileSystemDispatcher.prototype.didGetFileSystemPath):
1148         (WebInspector.FileSystemDispatcher.prototype.didGetFileSystemError):
1149         (WebInspector.FileSystemDispatcher.prototype.didGetFileSystemDisabled):
1150         * inspector/front-end/ProfilesPanel.js:
1151         (WebInspector.ProfilesPanel):
1152         (WebInspector.ProfilesPanel.prototype._addProfileHeader):
1153         (WebInspector.ProfilesPanel.prototype._removeProfileHeader):
1154         (WebInspector.ProfilesPanel.prototype._addHeapSnapshotChunk):
1155         (WebInspector.ProfilesPanel.prototype._finishHeapSnapshot):
1156         (WebInspector.ProfilesPanel.prototype._setRecordingProfile):
1157         (WebInspector.ProfilerDispatcher):
1158         (WebInspector.ProfilerDispatcher.prototype.profilerWasEnabled):
1159         (WebInspector.ProfilerDispatcher.prototype.profilerWasDisabled):
1160         (WebInspector.ProfilerDispatcher.prototype.resetProfiles):
1161         (WebInspector.ProfilerDispatcher.prototype.addProfileHeader):
1162         (WebInspector.ProfilerDispatcher.prototype.addHeapSnapshotChunk):
1163         (WebInspector.ProfilerDispatcher.prototype.finishHeapSnapshot):
1164         (WebInspector.ProfilerDispatcher.prototype.setRecordingProfile):
1165         (WebInspector.ProfileSidebarTreeElement.prototype.ondelete):
1166         * inspector/front-end/ResourceTreeModel.js:
1167         (WebInspector.ResourceTreeModel):
1168         * inspector/front-end/TimelinePanel.js:
1169         (WebInspector.TimelinePanel):
1170         (WebInspector.TimelinePanel.prototype._timelineProfilerWasStarted):
1171         (WebInspector.TimelinePanel.prototype._timelineProfilerWasStopped):
1172         (WebInspector.TimelinePanel.prototype._addRecordToTimeline):
1173         (WebInspector.TimelineDispatcher):
1174         (WebInspector.TimelineDispatcher.prototype.timelineProfilerWasStarted):
1175         (WebInspector.TimelineDispatcher.prototype.timelineProfilerWasStopped):
1176         (WebInspector.TimelineDispatcher.prototype.addRecordToTimeline):
1177
1178 2011-01-14  Csaba Osztrogonác  <ossy@webkit.org>
1179
1180         [Qt][V8] Unreviewed buildfix after r75788.
1181
1182         * inspector/InspectorBrowserDebuggerAgent.cpp:
1183
1184 2011-01-12  Ilya Tikhonovsky  <loislo@chromium.org>
1185
1186         Reviewed by Yury Semikhatsky.
1187
1188         Web Inspector: Extract BrowserDebuggerAgent from InspectorController, InspectorDOMAgent and InspectorDebugger agent.
1189         We have some methods of Debugger which are related to DOM.
1190         Lets extract these methods to BrowserDebugger agent.
1191
1192         http://bugs.webkit.org/show_bug.cgi?id=52294
1193
1194         * CMakeLists.txt:
1195         * WebCore.gypi:
1196         * WebCore.pro:
1197         * WebCore.vcproj/WebCore.vcproj:
1198         * WebCore.xcodeproj/project.pbxproj:
1199         * inspector/CodeGeneratorInspector.pm:
1200         * inspector/Inspector.idl:
1201         * inspector/InspectorBrowserDebuggerAgent.cpp: Added.
1202         (WebCore::InspectorBrowserDebuggerAgent::InspectorBrowserDebuggerAgent):
1203         (WebCore::InspectorBrowserDebuggerAgent::~InspectorBrowserDebuggerAgent):
1204         (WebCore::InspectorBrowserDebuggerAgent::discardBindings):
1205         (WebCore::InspectorBrowserDebuggerAgent::setEventListenerBreakpoint):
1206         (WebCore::InspectorBrowserDebuggerAgent::removeEventListenerBreakpoint):
1207         (WebCore::InspectorBrowserDebuggerAgent::didInsertDOMNode):
1208         (WebCore::InspectorBrowserDebuggerAgent::didRemoveDOMNode):
1209         (WebCore::InspectorBrowserDebuggerAgent::setDOMBreakpoint):
1210         (WebCore::InspectorBrowserDebuggerAgent::removeDOMBreakpoint):
1211         (WebCore::InspectorBrowserDebuggerAgent::willInsertDOMNode):
1212         (WebCore::InspectorBrowserDebuggerAgent::willRemoveDOMNode):
1213         (WebCore::InspectorBrowserDebuggerAgent::willModifyDOMAttr):
1214         (WebCore::InspectorBrowserDebuggerAgent::descriptionForDOMEvent):
1215         (WebCore::InspectorBrowserDebuggerAgent::hasBreakpoint):
1216         (WebCore::InspectorBrowserDebuggerAgent::updateSubtreeBreakpoints):
1217         (WebCore::InspectorBrowserDebuggerAgent::pauseOnNativeEventIfNeeded):
1218         (WebCore::InspectorBrowserDebuggerAgent::setXHRBreakpoint):
1219         (WebCore::InspectorBrowserDebuggerAgent::removeXHRBreakpoint):
1220         (WebCore::InspectorBrowserDebuggerAgent::willSendXMLHttpRequest):
1221         (WebCore::InspectorBrowserDebuggerAgent::clearForPageNavigation):
1222         * inspector/InspectorBrowserDebuggerAgent.h: Added.
1223         (WebCore::InspectorBrowserDebuggerAgent::create):
1224         * inspector/InspectorController.cpp:
1225         (WebCore::InspectorController::InspectorController):
1226         (WebCore::InspectorController::inspectedPageDestroyed):
1227         (WebCore::InspectorController::didCommitLoad):
1228         (WebCore::InspectorController::enableDebuggerFromFrontend):
1229         (WebCore::InspectorController::disableDebugger):
1230         (WebCore::InspectorController::restoreStickyBreakpoints):
1231         (WebCore::InspectorController::restoreStickyBreakpoint):
1232         * inspector/InspectorController.h:
1233         * inspector/InspectorDOMAgent.cpp:
1234         (WebCore::InspectorDOMAgent::discardBindings):
1235         (WebCore::InspectorDOMAgent::didInsertDOMNode):
1236         (WebCore::InspectorDOMAgent::didRemoveDOMNode):
1237         * inspector/InspectorDOMAgent.h:
1238         * inspector/InspectorInstrumentation.cpp:
1239         (WebCore::InspectorInstrumentation::willInsertDOMNodeImpl):
1240         (WebCore::InspectorInstrumentation::didInsertDOMNodeImpl):
1241         (WebCore::InspectorInstrumentation::willRemoveDOMNodeImpl):
1242         (WebCore::InspectorInstrumentation::didRemoveDOMNodeImpl):
1243         (WebCore::InspectorInstrumentation::willModifyDOMAttrImpl):
1244         (WebCore::InspectorInstrumentation::willSendXMLHttpRequestImpl):
1245         (WebCore::InspectorInstrumentation::pauseOnNativeEventIfNeeded):
1246
1247 2011-01-14  Andrey Kosyakov  <caseq@chromium.org>
1248
1249         Reviewed by Pavel Feldman.
1250
1251         Web Inspector: redirected resources not handled properly in Network panel
1252         https://bugs.webkit.org/show_bug.cgi?id=52292
1253
1254         * inspector/Inspector.idl: Do not pass isMainResource to identifierForInitialRequest() (it's useless, as we may hit provisional load)
1255         * inspector/InspectorInstrumentation.cpp: Ditto.
1256         (WebCore::InspectorInstrumentation::identifierForInitialRequestImpl):
1257         * inspector/InspectorResourceAgent.cpp: Ditto.
1258         (WebCore::InspectorResourceAgent::identifierForInitialRequest):
1259         * inspector/InspectorResourceAgent.h: Ditto.
1260         * inspector/InspectorInstrumentation.cpp: Ditto.
1261         (WebCore::InspectorInstrumentation::identifierForInitialRequestImpl): Fix main resource detection.
1262         * inspector/front-end/AuditsPanel.js: WebInspector.networkResources now returns array, not map.
1263         * inspector/front-end/ConsoleView.js: User WebInspector.resourceById() to get resource
1264         (WebInspector.ConsoleMessage.prototype._formatMessage):
1265         * inspector/front-end/ExtensionServer.js: Ditto.
1266         (WebInspector.ExtensionServer.prototype._onRevealAndSelectResource):
1267         (WebInspector.ExtensionServer.prototype._onGetResourceContent):
1268         * inspector/front-end/HAREntry.js: WebInspector.networkResources now returns array, not map
1269         (WebInspector.HARLog.prototype.build):
1270         (WebInspector.HARLog.prototype._convertResource):
1271         * inspector/front-end/NetworkManager.js:
1272         (WebInspector.NetworkManager): Use appendResource, not refreshResource, when adding a new resource.
1273         (WebInspector.NetworkManager.prototype.identifierForInitialRequest):
1274         (WebInspector.NetworkManager.prototype.willSendRequest):
1275         (WebInspector.NetworkManager.prototype.didLoadResourceFromMemoryCache):
1276         (WebInspector.NetworkManager.prototype.setInitialContent):
1277         (WebInspector.NetworkManager.prototype.didCommitLoadForFrame):
1278         (WebInspector.NetworkManager.prototype.didCreateWebSocket):
1279         (WebInspector.NetworkManager.prototype._createResource): always register resource URL with ResourceTreeModel
1280         (WebInspector.NetworkManager.prototype._appendRedirect):
1281         * inspector/front-end/NetworkPanel.js:
1282         (WebInspector.NetworkPanel):
1283         (WebInspector.NetworkPanel.prototype.get resources):
1284         (WebInspector.NetworkPanel.prototype.resourceById):
1285         (WebInspector.NetworkPanel.prototype.appendResource): Add resource as new iff appendResource was added.
1286         (WebInspector.NetworkPanel.prototype.refreshResource): ditto.
1287         (WebInspector.NetworkPanel.prototype.mainResourceChanged): Clear console upon arrival of new main resource.
1288         * inspector/front-end/ResourceTreeModel.js: Expose unbindResourceURL, bind resources automatically upon creation.
1289         (WebInspector.ResourceTreeModel.prototype._clearResources):
1290         (WebInspector.ResourceTreeModel.prototype.unbindResourceURL):
1291         (WebInspector.ResourceTreeModel.prototype._addFramesRecursively):
1292         (WebInspector.ResourceTreeModel.prototype.createResource):
1293         * inspector/front-end/inspector.js:
1294         (WebInspector.resourceById):
1295
1296 2011-01-14  Sheriff Bot  <webkit.review.bot@gmail.com>
1297
1298         Unreviewed, rolling out r75783.
1299         http://trac.webkit.org/changeset/75783
1300         https://bugs.webkit.org/show_bug.cgi?id=52439
1301
1302         a bit strange but the same patch have broken mac builds at
1303         linking stage. (Requested by loislo2 on #webkit).
1304
1305         * CMakeLists.txt:
1306         * GNUmakefile.am:
1307         * WebCore.gypi:
1308         * WebCore.pro:
1309         * WebCore.vcproj/WebCore.vcproj:
1310         * WebCore.xcodeproj/project.pbxproj:
1311         * inspector/CodeGeneratorInspector.pm:
1312         * inspector/Inspector.idl:
1313         * inspector/InspectorBrowserDebuggerAgent.cpp: Removed.
1314         * inspector/InspectorBrowserDebuggerAgent.h: Removed.
1315         * inspector/InspectorController.cpp:
1316         (WebCore::InspectorController::InspectorController):
1317         (WebCore::InspectorController::inspectedPageDestroyed):
1318         (WebCore::InspectorController::didCommitLoad):
1319         (WebCore::InspectorController::enableDebuggerFromFrontend):
1320         (WebCore::InspectorController::disableDebugger):
1321         (WebCore::InspectorController::restoreStickyBreakpoints):
1322         (WebCore::InspectorController::restoreStickyBreakpoint):
1323         (WebCore::InspectorController::setEventListenerBreakpoint):
1324         (WebCore::InspectorController::removeEventListenerBreakpoint):
1325         (WebCore::InspectorController::hasEventListenerBreakpoint):
1326         (WebCore::InspectorController::setXHRBreakpoint):
1327         (WebCore::InspectorController::removeXHRBreakpoint):
1328         (WebCore::InspectorController::hasXHRBreakpoint):
1329         * inspector/InspectorController.h:
1330         * inspector/InspectorDOMAgent.cpp:
1331         (WebCore::InspectorDOMAgent::discardBindings):
1332         (WebCore::InspectorDOMAgent::setDOMBreakpoint):
1333         (WebCore::InspectorDOMAgent::removeDOMBreakpoint):
1334         (WebCore::InspectorDOMAgent::shouldBreakOnNodeInsertion):
1335         (WebCore::InspectorDOMAgent::shouldBreakOnNodeRemoval):
1336         (WebCore::InspectorDOMAgent::shouldBreakOnAttributeModification):
1337         (WebCore::InspectorDOMAgent::descriptionForDOMEvent):
1338         (WebCore::InspectorDOMAgent::didInsertDOMNode):
1339         (WebCore::InspectorDOMAgent::didRemoveDOMNode):
1340         (WebCore::InspectorDOMAgent::hasBreakpoint):
1341         (WebCore::InspectorDOMAgent::updateSubtreeBreakpoints):
1342         * inspector/InspectorDOMAgent.h:
1343         * inspector/InspectorInstrumentation.cpp:
1344         (WebCore::InspectorInstrumentation::willInsertDOMNodeImpl):
1345         (WebCore::InspectorInstrumentation::didInsertDOMNodeImpl):
1346         (WebCore::InspectorInstrumentation::willRemoveDOMNodeImpl):
1347         (WebCore::InspectorInstrumentation::didRemoveDOMNodeImpl):
1348         (WebCore::InspectorInstrumentation::willModifyDOMAttrImpl):
1349         (WebCore::InspectorInstrumentation::willSendXMLHttpRequestImpl):
1350         (WebCore::InspectorInstrumentation::pauseOnNativeEventIfNeeded):
1351
1352 2011-01-12  Ilya Tikhonovsky  <loislo@chromium.org>
1353
1354         Reviewed by Yury Semikhatsky.
1355
1356         Web Inspector: Extract BrowserDebuggerAgent from InspectorController, InspectorDOMAgent and InspectorDebugger agent.
1357         We have some methods of Debugger which are related to DOM.
1358         Lets extract these methods to BrowserDebugger agent.
1359
1360         http://bugs.webkit.org/show_bug.cgi?id=52294
1361
1362         * CMakeLists.txt:
1363         * WebCore.gypi:
1364         * WebCore.pro:
1365         * WebCore.vcproj/WebCore.vcproj:
1366         * WebCore.xcodeproj/project.pbxproj:
1367         * inspector/CodeGeneratorInspector.pm:
1368         * inspector/Inspector.idl:
1369         * inspector/InspectorBrowserDebuggerAgent.cpp: Added.
1370         (WebCore::InspectorBrowserDebuggerAgent::InspectorBrowserDebuggerAgent):
1371         (WebCore::InspectorBrowserDebuggerAgent::~InspectorBrowserDebuggerAgent):
1372         (WebCore::InspectorBrowserDebuggerAgent::discardBindings):
1373         (WebCore::InspectorBrowserDebuggerAgent::setEventListenerBreakpoint):
1374         (WebCore::InspectorBrowserDebuggerAgent::removeEventListenerBreakpoint):
1375         (WebCore::InspectorBrowserDebuggerAgent::didInsertDOMNode):
1376         (WebCore::InspectorBrowserDebuggerAgent::didRemoveDOMNode):
1377         (WebCore::InspectorBrowserDebuggerAgent::setDOMBreakpoint):
1378         (WebCore::InspectorBrowserDebuggerAgent::removeDOMBreakpoint):
1379         (WebCore::InspectorBrowserDebuggerAgent::willInsertDOMNode):
1380         (WebCore::InspectorBrowserDebuggerAgent::willRemoveDOMNode):
1381         (WebCore::InspectorBrowserDebuggerAgent::willModifyDOMAttr):
1382         (WebCore::InspectorBrowserDebuggerAgent::descriptionForDOMEvent):
1383         (WebCore::InspectorBrowserDebuggerAgent::hasBreakpoint):
1384         (WebCore::InspectorBrowserDebuggerAgent::updateSubtreeBreakpoints):
1385         (WebCore::InspectorBrowserDebuggerAgent::pauseOnNativeEventIfNeeded):
1386         (WebCore::InspectorBrowserDebuggerAgent::setXHRBreakpoint):
1387         (WebCore::InspectorBrowserDebuggerAgent::removeXHRBreakpoint):
1388         (WebCore::InspectorBrowserDebuggerAgent::willSendXMLHttpRequest):
1389         (WebCore::InspectorBrowserDebuggerAgent::clearForPageNavigation):
1390         * inspector/InspectorBrowserDebuggerAgent.h: Added.
1391         (WebCore::InspectorBrowserDebuggerAgent::create):
1392         * inspector/InspectorController.cpp:
1393         (WebCore::InspectorController::InspectorController):
1394         (WebCore::InspectorController::inspectedPageDestroyed):
1395         (WebCore::InspectorController::didCommitLoad):
1396         (WebCore::InspectorController::enableDebuggerFromFrontend):
1397         (WebCore::InspectorController::disableDebugger):
1398         (WebCore::InspectorController::restoreStickyBreakpoints):
1399         (WebCore::InspectorController::restoreStickyBreakpoint):
1400         * inspector/InspectorController.h:
1401         * inspector/InspectorDOMAgent.cpp:
1402         (WebCore::InspectorDOMAgent::discardBindings):
1403         (WebCore::InspectorDOMAgent::didInsertDOMNode):
1404         (WebCore::InspectorDOMAgent::didRemoveDOMNode):
1405         * inspector/InspectorDOMAgent.h:
1406         * inspector/InspectorInstrumentation.cpp:
1407         (WebCore::InspectorInstrumentation::willInsertDOMNodeImpl):
1408         (WebCore::InspectorInstrumentation::didInsertDOMNodeImpl):
1409         (WebCore::InspectorInstrumentation::willRemoveDOMNodeImpl):
1410         (WebCore::InspectorInstrumentation::didRemoveDOMNodeImpl):
1411         (WebCore::InspectorInstrumentation::willModifyDOMAttrImpl):
1412         (WebCore::InspectorInstrumentation::willSendXMLHttpRequestImpl):
1413         (WebCore::InspectorInstrumentation::pauseOnNativeEventIfNeeded):
1414
1415 2011-01-14  Pavel Feldman  <pfeldman@chromium.org>
1416
1417         Not reviewed: build fix.
1418
1419         * WebCore.vcproj/WebCore.vcproj:
1420
1421 2011-01-14  Pavel Feldman  <pfeldman@chromium.org>
1422
1423         Reviewed by Yury Semikhatsky.
1424
1425         Web Inspector: extract InspectorSettings from InspectorState,
1426         simplify it.
1427         https://bugs.webkit.org/show_bug.cgi?id=52429
1428
1429         * CMakeLists.txt:
1430         * GNUmakefile.am:
1431         * WebCore.gypi:
1432         * WebCore.pro:
1433         * WebCore.xcodeproj/project.pbxproj:
1434         * inspector/InspectorClient.h:
1435         * inspector/InspectorController.cpp:
1436         (WebCore::InspectorController::InspectorController):
1437         (WebCore::InspectorController::inspectorStartsAttached):
1438         (WebCore::InspectorController::setInspectorStartsAttached):
1439         (WebCore::InspectorController::setInspectorAttachedHeight):
1440         (WebCore::InspectorController::inspectorAttachedHeight):
1441         (WebCore::InspectorController::setMonitoringXHREnabled):
1442         (WebCore::InspectorController::restoreDebugger):
1443         (WebCore::InspectorController::restoreProfiler):
1444         (WebCore::InspectorController::ensureSettingsLoaded):
1445         (WebCore::InspectorController::enableProfiler):
1446         (WebCore::InspectorController::disableProfiler):
1447         (WebCore::InspectorController::enableDebuggerFromFrontend):
1448         (WebCore::InspectorController::disableDebugger):
1449         * inspector/InspectorController.h:
1450         * inspector/InspectorSettings.cpp: Added.
1451         (WebCore::InspectorSettings::InspectorSettings):
1452         (WebCore::InspectorSettings::getBoolean):
1453         (WebCore::InspectorSettings::setBoolean):
1454         (WebCore::InspectorSettings::getLong):
1455         (WebCore::InspectorSettings::setLong):
1456         (WebCore::InspectorSettings::registerBoolean):
1457         (WebCore::InspectorSettings::registerLong):
1458         * inspector/InspectorSettings.h: Added.
1459         * inspector/InspectorState.cpp:
1460         (WebCore::InspectorState::InspectorState):
1461         (WebCore::InspectorState::setValue):
1462         (WebCore::InspectorState::setObject):
1463         (WebCore::InspectorState::registerBoolean):
1464         (WebCore::InspectorState::registerString):
1465         (WebCore::InspectorState::registerLong):
1466         (WebCore::InspectorState::registerObject):
1467         (WebCore::InspectorState::Property::create):
1468         * inspector/InspectorState.h:
1469         (WebCore::InspectorState::setBoolean):
1470         (WebCore::InspectorState::setString):
1471         (WebCore::InspectorState::setLong):
1472
1473 2011-01-14  Sheriff Bot  <webkit.review.bot@gmail.com>
1474
1475         Unreviewed, rolling out r75774.
1476         http://trac.webkit.org/changeset/75774
1477         https://bugs.webkit.org/show_bug.cgi?id=52431
1478
1479         gtk builds were broken (Requested by loislo2 on #webkit).
1480
1481         * CMakeLists.txt:
1482         * WebCore.gypi:
1483         * WebCore.pro:
1484         * WebCore.vcproj/WebCore.vcproj:
1485         * WebCore.xcodeproj/project.pbxproj:
1486         * inspector/CodeGeneratorInspector.pm:
1487         * inspector/Inspector.idl:
1488         * inspector/InspectorBrowserDebuggerAgent.cpp: Removed.
1489         * inspector/InspectorBrowserDebuggerAgent.h: Removed.
1490         * inspector/InspectorController.cpp:
1491         (WebCore::InspectorController::InspectorController):
1492         (WebCore::InspectorController::inspectedPageDestroyed):
1493         (WebCore::InspectorController::didCommitLoad):
1494         (WebCore::InspectorController::enableDebuggerFromFrontend):
1495         (WebCore::InspectorController::disableDebugger):
1496         (WebCore::InspectorController::restoreStickyBreakpoints):
1497         (WebCore::InspectorController::restoreStickyBreakpoint):
1498         (WebCore::InspectorController::setEventListenerBreakpoint):
1499         (WebCore::InspectorController::removeEventListenerBreakpoint):
1500         (WebCore::InspectorController::hasEventListenerBreakpoint):
1501         (WebCore::InspectorController::setXHRBreakpoint):
1502         (WebCore::InspectorController::removeXHRBreakpoint):
1503         (WebCore::InspectorController::hasXHRBreakpoint):
1504         * inspector/InspectorController.h:
1505         * inspector/InspectorDOMAgent.cpp:
1506         (WebCore::InspectorDOMAgent::discardBindings):
1507         (WebCore::InspectorDOMAgent::setDOMBreakpoint):
1508         (WebCore::InspectorDOMAgent::removeDOMBreakpoint):
1509         (WebCore::InspectorDOMAgent::shouldBreakOnNodeInsertion):
1510         (WebCore::InspectorDOMAgent::shouldBreakOnNodeRemoval):
1511         (WebCore::InspectorDOMAgent::shouldBreakOnAttributeModification):
1512         (WebCore::InspectorDOMAgent::descriptionForDOMEvent):
1513         (WebCore::InspectorDOMAgent::didInsertDOMNode):
1514         (WebCore::InspectorDOMAgent::didRemoveDOMNode):
1515         (WebCore::InspectorDOMAgent::hasBreakpoint):
1516         (WebCore::InspectorDOMAgent::updateSubtreeBreakpoints):
1517         * inspector/InspectorDOMAgent.h:
1518         * inspector/InspectorInstrumentation.cpp:
1519         (WebCore::InspectorInstrumentation::willInsertDOMNodeImpl):
1520         (WebCore::InspectorInstrumentation::didInsertDOMNodeImpl):
1521         (WebCore::InspectorInstrumentation::willRemoveDOMNodeImpl):
1522         (WebCore::InspectorInstrumentation::didRemoveDOMNodeImpl):
1523         (WebCore::InspectorInstrumentation::willModifyDOMAttrImpl):
1524         (WebCore::InspectorInstrumentation::willSendXMLHttpRequestImpl):
1525         (WebCore::InspectorInstrumentation::pauseOnNativeEventIfNeeded):
1526
1527 2011-01-12  Ilya Tikhonovsky  <loislo@chromium.org>
1528
1529         Reviewed by Yury Semikhatsky.
1530
1531         Web Inspector: Extract BrowserDebuggerAgent from InspectorController, InspectorDOMAgent and InspectorDebugger agent.
1532         We have some methods of Debugger which are related to DOM.
1533         Lets extract these methods to BrowserDebugger agent.
1534
1535         http://bugs.webkit.org/show_bug.cgi?id=52294
1536
1537         * CMakeLists.txt:
1538         * WebCore.gypi:
1539         * WebCore.pro:
1540         * WebCore.vcproj/WebCore.vcproj:
1541         * WebCore.xcodeproj/project.pbxproj:
1542         * inspector/CodeGeneratorInspector.pm:
1543         * inspector/Inspector.idl:
1544         * inspector/InspectorBrowserDebuggerAgent.cpp: Added.
1545         (WebCore::InspectorBrowserDebuggerAgent::InspectorBrowserDebuggerAgent):
1546         (WebCore::InspectorBrowserDebuggerAgent::~InspectorBrowserDebuggerAgent):
1547         (WebCore::InspectorBrowserDebuggerAgent::discardBindings):
1548         (WebCore::InspectorBrowserDebuggerAgent::setEventListenerBreakpoint):
1549         (WebCore::InspectorBrowserDebuggerAgent::removeEventListenerBreakpoint):
1550         (WebCore::InspectorBrowserDebuggerAgent::didInsertDOMNode):
1551         (WebCore::InspectorBrowserDebuggerAgent::didRemoveDOMNode):
1552         (WebCore::InspectorBrowserDebuggerAgent::setDOMBreakpoint):
1553         (WebCore::InspectorBrowserDebuggerAgent::removeDOMBreakpoint):
1554         (WebCore::InspectorBrowserDebuggerAgent::willInsertDOMNode):
1555         (WebCore::InspectorBrowserDebuggerAgent::willRemoveDOMNode):
1556         (WebCore::InspectorBrowserDebuggerAgent::willModifyDOMAttr):
1557         (WebCore::InspectorBrowserDebuggerAgent::descriptionForDOMEvent):
1558         (WebCore::InspectorBrowserDebuggerAgent::hasBreakpoint):
1559         (WebCore::InspectorBrowserDebuggerAgent::updateSubtreeBreakpoints):
1560         (WebCore::InspectorBrowserDebuggerAgent::pauseOnNativeEventIfNeeded):
1561         (WebCore::InspectorBrowserDebuggerAgent::setXHRBreakpoint):
1562         (WebCore::InspectorBrowserDebuggerAgent::removeXHRBreakpoint):
1563         (WebCore::InspectorBrowserDebuggerAgent::willSendXMLHttpRequest):
1564         (WebCore::InspectorBrowserDebuggerAgent::clearForPageNavigation):
1565         * inspector/InspectorBrowserDebuggerAgent.h: Added.
1566         (WebCore::InspectorBrowserDebuggerAgent::create):
1567         * inspector/InspectorController.cpp:
1568         (WebCore::InspectorController::InspectorController):
1569         (WebCore::InspectorController::inspectedPageDestroyed):
1570         (WebCore::InspectorController::didCommitLoad):
1571         (WebCore::InspectorController::enableDebuggerFromFrontend):
1572         (WebCore::InspectorController::disableDebugger):
1573         (WebCore::InspectorController::restoreStickyBreakpoints):
1574         (WebCore::InspectorController::restoreStickyBreakpoint):
1575         * inspector/InspectorController.h:
1576         * inspector/InspectorDOMAgent.cpp:
1577         (WebCore::InspectorDOMAgent::discardBindings):
1578         (WebCore::InspectorDOMAgent::didInsertDOMNode):
1579         (WebCore::InspectorDOMAgent::didRemoveDOMNode):
1580         * inspector/InspectorDOMAgent.h:
1581         * inspector/InspectorInstrumentation.cpp:
1582         (WebCore::InspectorInstrumentation::willInsertDOMNodeImpl):
1583         (WebCore::InspectorInstrumentation::didInsertDOMNodeImpl):
1584         (WebCore::InspectorInstrumentation::willRemoveDOMNodeImpl):
1585         (WebCore::InspectorInstrumentation::didRemoveDOMNodeImpl):
1586         (WebCore::InspectorInstrumentation::willModifyDOMAttrImpl):
1587         (WebCore::InspectorInstrumentation::willSendXMLHttpRequestImpl):
1588         (WebCore::InspectorInstrumentation::pauseOnNativeEventIfNeeded):
1589
1590 2011-01-13  Kent Tamura  <tkent@chromium.org>
1591
1592         Reviewed by Dimitri Glazkov.
1593
1594         Implement form validation message UI
1595         https://bugs.webkit.org/show_bug.cgi?id=48980
1596
1597         * Add four internal pseudo selectors:
1598           - -webkit-validation-bubble
1599           - -webkit-validation-bubble-message
1600           - -webkit-validation-bubble-top-outer-arrow
1601           - -webkit-validation-bubble-top-inner-arrow
1602
1603         * Implement ValidationMessage functions
1604           Show the message for <the number of characters> / 20.0 seconds.
1605
1606         No new tests because the feature is disabled by default for now and the
1607         new behavior is strongly timing-dependent.
1608
1609         * css/CSSStyleSelector.cpp:
1610         (WebCore::CSSStyleSelector::canShareStyleWithElement):
1611           Do not share a style with elements with different shadowPseudoId().
1612         * css/html.css: Define appearance for the internal selectors.
1613         (::-webkit-validation-bubble):
1614         (::-webkit-validation-bubble-message):
1615         (::-webkit-validation-bubble-top-outer-arrow):
1616         (::-webkit-validation-bubble-top-inner-arrow):
1617         * dom/Node.cpp:
1618         (WebCore::Node::createRendererIfNeeded):
1619           Allow to add shadow renderers even if canHaveChildren() returns false.
1620         * html/HTMLFormControlElement.cpp:
1621         (WebCore::HTMLFormControlElement::detach):
1622           Remove m_validationMessage immediately because we can't use
1623           hideVisibleValidationMessage(), which calls a ValidationMessage function later.
1624         (WebCore::HTMLFormControlElement::updateVisibleValidationMessage):
1625           - Don't create ValidationMessage if the message is empty.
1626           - Remove the check for message equality.
1627         (WebCore::HTMLFormControlElement::hideVisibleValidationMessage):
1628           Don't remove m_validationMessage immediately. We shouldn't make the
1629           element needsLayout() state in this context.
1630         * html/ValidationMessage.cpp:
1631         (WebCore::ValidationMessage::~ValidationMessage):
1632           hideMessage() -> deleteBubbleTree() renaming.
1633         (WebCore::ValidationMessage::setMessage): Implemented.
1634         (WebCore::ValidationMessage::setMessageDOMAndStartTimer):
1635           Added. This updates the validation message and starts the timer to hide it.
1636         (WebCore::ElementWithPseudoId):
1637           Added to help implementations of styled shadow nodes.
1638         (WebCore::ValidationMessage::buildBubbleTree): Added.
1639         (WebCore::ValidationMessage::requestToHideMessage): Added.
1640         (WebCore::ValidationMessage::deleteBubbleTree):
1641           Renamed from hideMessage(), and implemented.
1642         * html/ValidationMessage.h: Add declarations.
1643
1644 2011-01-13  Dan Bernstein  <mitz@apple.com>
1645
1646         Reviewed by Alexey Proskuryakov.
1647
1648         <rdar://problem/8827065> REGRESSION (r71884): Cross-origin XHR fails if willSendRequest changes the URL
1649         https://bugs.webkit.org/show_bug.cgi?id=52419
1650
1651         Test: http/tests/loading/cross-origin-XHR-willLoadRequest.html
1652
1653         * loader/ResourceLoader.cpp:
1654         (WebCore::ResourceLoader::init): Complete r74453 by ensuring that m_request is only set after
1655         willSendRequest(). Otherwise, willSendRequest() ends up calling into
1656         ThreadableDocumentRequest::willSendRequest(), which cancels the request.
1657
1658 2011-01-13  Dan Bernstein  <mitz@apple.com>
1659
1660         Reviewed by Mark Rowe.
1661
1662         Don’t try to compile InjectedScriptSource.js into WebCore.
1663
1664         * WebCore.xcodeproj/project.pbxproj:
1665
1666 2011-01-13  Mike Thole  <mthole@apple.com>
1667
1668         Reviewed by Darin Adler and Brady Eidson.
1669
1670         The pageScaleFactor() should be saved/restored along with the scroll position
1671         https://bugs.webkit.org/show_bug.cgi?id=52406
1672         <rdar://problem/8714412>
1673
1674         * history/HistoryItem.cpp:
1675         (WebCore::HistoryItem::HistoryItem): Initialize m_pageScaleFactor.
1676         (WebCore::HistoryItem::pageScaleFactor): Added getter.
1677         (WebCore::HistoryItem::setPageScaleFactor): Added setter.
1678         (WebCore::HistoryItem::encodeBackForwardTreeNode): Encode m_pageScaleFactor.
1679         (WebCore::HistoryItem::decodeBackForwardTree): Decode m_pageScaleFactor.
1680         * history/HistoryItem.h:
1681         * loader/HistoryController.cpp:
1682         (WebCore::HistoryController::saveScrollPositionAndViewStateToItem): Save the page scale factor...
1683         (WebCore::HistoryController::restoreScrollPositionAndViewState): ...and restore it here.
1684
1685 2011-01-13  Evan Martin  <evan@chromium.org>
1686
1687         Reviewed by Tony Chang.
1688
1689         [chromium] drop backwards iteration in Linux complex text code
1690         https://bugs.webkit.org/show_bug.cgi?id=52403
1691
1692         ComplexTextController previously supported iterating through the text in
1693         both directions, but this resulted in duplicate code for each path.
1694         Instead, by being more careful about flipping signs where appropriate,
1695         we can refactor the code into one code path.
1696
1697         No tests, just a refactoring; should be covered by existing tests.
1698
1699         * platform/graphics/chromium/ComplexTextControllerLinux.cpp:
1700         (WebCore::ComplexTextController::ComplexTextController):
1701         (WebCore::ComplexTextController::reset):
1702         (WebCore::ComplexTextController::nextScriptRun):
1703         * platform/graphics/chromium/ComplexTextControllerLinux.h:
1704         * platform/graphics/chromium/FontLinux.cpp:
1705         (WebCore::glyphIndexForXPositionInScriptRun):
1706         (WebCore::Font::selectionRectForComplexText):
1707
1708 2011-01-13  Dimitri Glazkov  <dglazkov@chromium.org>
1709
1710         Reviewed by Darin Adler.
1711
1712         Flip input[type=range] to use the new shadow DOM model.
1713         https://bugs.webkit.org/show_bug.cgi?id=52317
1714
1715         This is a straight-up flip, minimal change to the logic, which will be
1716         refactored in a follow-up patch.
1717
1718         Covered by existing tests.
1719
1720         * css/CSSStyleSelector.cpp:
1721         (WebCore::CSSStyleSelector::initForStyleResolve): Changed to use either
1722             host or parent node to find parent.
1723         * html/HTMLInputElement.cpp:
1724         (WebCore::HTMLInputElement::updateType): Added logic for destroying/creating
1725             shadow DOM subtree.
1726         * html/InputType.cpp:
1727         (WebCore::InputType::createShadowSubtree): Added empty decl.
1728         (WebCore::InputType::destroyShadowSubtree): Added a method to destroy
1729             shadow subtree.
1730         * html/InputType.h: Added defs.
1731         * html/RangeInputType.cpp:
1732         (WebCore::RangeInputType::createShadowSubtree): Added a virtual method to create
1733             slider thumb.
1734         * html/RangeInputType.h: Adde def.
1735         * html/shadow/SliderThumbElement.cpp: Added temporary RenderSliderThumb class
1736             to handle cascading appearance.
1737         (WebCore::RenderSliderThumb::RenderSliderThumb): Added.
1738         (WebCore::RenderSliderThumb::layout): Moved here the logic from
1739             RenderSlider::createThumbStyle.
1740         (WebCore::SliderThumbElement::createRenderer): Added virtual method to
1741             create RenderSliderThumb instance.
1742         (WebCore::SliderThumbElement::defaultEventHandler): Changed to use HTMLDivElement
1743             as base class.
1744         (WebCore::SliderThumbElement::detach): Ditto.
1745         * html/shadow/SliderThumbElement.h:
1746         (WebCore::SliderThumbElement::SliderThumbElement): Ditto.
1747         (WebCore::SliderThumbElement::create): Ditto.
1748         (WebCore::toSliderThumbElement): Added a casting helper.
1749         * rendering/MediaControlElements.cpp:
1750         (WebCore::MediaControlInputElement::attach): Added handling of shadow DOM,
1751             since the whole method is hand-rolled.
1752         (WebCore::MediaControlInputElement::updateStyle): Ditto.
1753         * rendering/RenderSlider.cpp:
1754         (WebCore::RenderSlider::~RenderSlider): Removed unneeded code.
1755         (WebCore::RenderSlider::thumbRect): Changed to use sliderThumbElement helper.
1756         (WebCore::RenderSlider::layout): Ditto.
1757         (WebCore::RenderSlider::sliderThumbElement): Added a temporary helper to access
1758             SliderThumbElement.
1759         (WebCore::RenderSlider::mouseEventIsInThumb): Changed to use sliderThumbElement helper.
1760         (WebCore::RenderSlider::mouseEventOffsetToThumb): Ditto.
1761         (WebCore::RenderSlider::setValueForPosition): Ditto.
1762         (WebCore::RenderSlider::positionForOffset): Ditto.
1763         (WebCore::RenderSlider::currentPosition): Ditto.
1764         (WebCore::RenderSlider::trackSize): Ditto.
1765         (WebCore::RenderSlider::forwardEvent): Ditto.
1766         (WebCore::RenderSlider::inDragMode): Ditto.
1767         * rendering/RenderSlider.h: Added def.
1768
1769 2011-01-13  Adam Barth  <abarth@webkit.org>
1770
1771         Reviewed by Eric Seidel.
1772
1773         Rename RGBA32Buffer to ImageFrame
1774         https://bugs.webkit.org/show_bug.cgi?id=52363
1775
1776         RGBA32Buffer is a terrible misnomer.  ImageFrame is vastly
1777         more accurate.  More cleanup to come.
1778
1779         * WebCore.pro:
1780         * platform/graphics/ImageSource.cpp:
1781         (WebCore::ImageSource::createFrameAtIndex):
1782         (WebCore::ImageSource::frameDurationAtIndex):
1783         (WebCore::ImageSource::frameIsCompleteAtIndex):
1784         * platform/graphics/qt/ImageDecoderQt.cpp:
1785         (WebCore::ImageDecoderQt::frameBufferAtIndex):
1786         (WebCore::ImageDecoderQt::internalReadImage):
1787         (WebCore::ImageDecoderQt::internalHandleCurrentImage):
1788         * platform/graphics/qt/ImageDecoderQt.h:
1789         * platform/graphics/wince/ImageWinCE.cpp:
1790         (WebCore::ImageFrame::asNewNativeImage):
1791         * platform/image-decoders/ImageDecoder.cpp:
1792         (WebCore::ImageFrame::ImageFrame):
1793         (WebCore::ImageFrame::operator=):
1794         (WebCore::ImageFrame::clear):
1795         (WebCore::ImageFrame::zeroFill):
1796         (WebCore::ImageFrame::copyReferenceToBitmapData):
1797         (WebCore::ImageFrame::copyBitmapData):
1798         (WebCore::ImageFrame::setSize):
1799         (WebCore::ImageFrame::hasAlpha):
1800         (WebCore::ImageFrame::setHasAlpha):
1801         (WebCore::ImageFrame::setColorProfile):
1802         (WebCore::ImageFrame::setStatus):
1803         (WebCore::ImageFrame::width):
1804         (WebCore::ImageFrame::height):
1805         * platform/image-decoders/ImageDecoder.h:
1806         (WebCore::ImageFrame::ImageFrame):
1807         * platform/image-decoders/bmp/BMPImageDecoder.cpp:
1808         (WebCore::BMPImageDecoder::frameBufferAtIndex):
1809         (WebCore::BMPImageDecoder::decode):
1810         * platform/image-decoders/bmp/BMPImageDecoder.h:
1811         * platform/image-decoders/bmp/BMPImageReader.cpp:
1812         (WebCore::BMPImageReader::decodeBMP):
1813         * platform/image-decoders/bmp/BMPImageReader.h:
1814         (WebCore::BMPImageReader::setBuffer):
1815         * platform/image-decoders/cairo/ImageDecoderCairo.cpp:
1816         (WebCore::ImageFrame::asNewNativeImage):
1817         * platform/image-decoders/cg/ImageDecoderCG.cpp:
1818         (WebCore::getPtrAsPixelData):
1819         (WebCore::ImageFrame::copyReferenceToBitmapData):
1820         (WebCore::ImageFrame::copyBitmapData):
1821         (WebCore::ImageFrame::setSize):
1822         (WebCore::ImageFrame::asNewNativeImage):
1823         * platform/image-decoders/gif/GIFImageDecoder.cpp:
1824         (WebCore::GIFImageDecoder::frameBufferAtIndex):
1825         (WebCore::GIFImageDecoder::clearFrameBufferCache):
1826         (WebCore::GIFImageDecoder::haveDecodedRow):
1827         (WebCore::GIFImageDecoder::frameComplete):
1828         (WebCore::GIFImageDecoder::initFrameBuffer):
1829         * platform/image-decoders/gif/GIFImageDecoder.h:
1830         * platform/image-decoders/gif/GIFImageReader.cpp:
1831         (GIFImageReader::read):
1832         * platform/image-decoders/gif/GIFImageReader.h:
1833         (GIFFrameReader::GIFFrameReader):
1834         * platform/image-decoders/haiku/ImageDecoderHaiku.cpp:
1835         (WebCore::ImageFrame::asNewNativeImage):
1836         * platform/image-decoders/ico/ICOImageDecoder.cpp:
1837         (WebCore::ICOImageDecoder::frameBufferAtIndex):
1838         (WebCore::ICOImageDecoder::decode):
1839         * platform/image-decoders/ico/ICOImageDecoder.h:
1840         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
1841         (WebCore::JPEGImageDecoder::frameBufferAtIndex):
1842         (WebCore::JPEGImageDecoder::outputScanlines):
1843         (WebCore::JPEGImageDecoder::jpegComplete):
1844         (WebCore::JPEGImageDecoder::decode):
1845         * platform/image-decoders/jpeg/JPEGImageDecoder.h:
1846         * platform/image-decoders/openvg/ImageDecoderOpenVG.cpp:
1847         (WebCore::ImageFrame::asNewNativeImage):
1848         * platform/image-decoders/png/PNGImageDecoder.cpp:
1849         (WebCore::PNGImageDecoder::frameBufferAtIndex):
1850         (WebCore::PNGImageDecoder::rowAvailable):
1851         (WebCore::PNGImageDecoder::pngComplete):
1852         * platform/image-decoders/png/PNGImageDecoder.h:
1853         (WebCore::PNGImageDecoder::isComplete):
1854         * platform/image-decoders/qt/ImageFrameQt.cpp: Copied from Source/WebCore/platform/image-decoders/qt/RGBA32BufferQt.cpp.
1855         (WebCore::ImageFrame::ImageFrame):
1856         (WebCore::ImageFrame::operator=):
1857         (WebCore::ImageFrame::clear):
1858         (WebCore::ImageFrame::zeroFill):
1859         (WebCore::ImageFrame::copyBitmapData):
1860         (WebCore::ImageFrame::setSize):
1861         (WebCore::ImageFrame::asNewNativeImage):
1862         (WebCore::ImageFrame::hasAlpha):
1863         (WebCore::ImageFrame::setHasAlpha):
1864         (WebCore::ImageFrame::setColorProfile):
1865         (WebCore::ImageFrame::setStatus):
1866         (WebCore::ImageFrame::setPixmap):
1867         (WebCore::ImageFrame::width):
1868         (WebCore::ImageFrame::height):
1869         * platform/image-decoders/qt/RGBA32BufferQt.cpp: Removed.
1870         * platform/image-decoders/skia/ImageDecoderSkia.cpp:
1871         (WebCore::ImageFrame::ImageFrame):
1872         (WebCore::ImageFrame::operator=):
1873         (WebCore::ImageFrame::clear):
1874         (WebCore::ImageFrame::zeroFill):
1875         (WebCore::ImageFrame::copyBitmapData):
1876         (WebCore::ImageFrame::setSize):
1877         (WebCore::ImageFrame::asNewNativeImage):
1878         (WebCore::ImageFrame::hasAlpha):
1879         (WebCore::ImageFrame::setHasAlpha):
1880         (WebCore::ImageFrame::setColorProfile):
1881         (WebCore::ImageFrame::setStatus):
1882         (WebCore::ImageFrame::width):
1883         (WebCore::ImageFrame::height):
1884         * platform/image-decoders/webp/WEBPImageDecoder.cpp:
1885         (WebCore::WEBPImageDecoder::frameBufferAtIndex):
1886         (WebCore::WEBPImageDecoder::decode):
1887         * platform/image-decoders/webp/WEBPImageDecoder.h:
1888         * platform/image-decoders/wx/ImageDecoderWx.cpp:
1889         (WebCore::ImageFrame::asNewNativeImage):
1890
1891 2011-01-13  Dimitri Glazkov  <dglazkov@chromium.org>
1892
1893         Reviewed by Darin Adler.
1894
1895         Transferring nodes between documents should be aware of the shadow DOM.
1896         https://bugs.webkit.org/show_bug.cgi?id=52399
1897
1898         No visible change in behavior at the moment.
1899
1900         Once https://bugs.webkit.org/show_bug.cgi?id=52317 lands, the following
1901         tests should no longer crash:
1902         * fast/css/pseudo-in-range-invalid-value.html
1903         * fast/css/pseudo-in-range.html
1904         * fast/forms/form-collection-elements.html
1905         * fast/forms/range-keyoperation.html
1906
1907         * dom/Document.cpp:
1908         (WebCore::Document::adoptNode): Changed to use Node::setDocumentRecursively.
1909         * dom/Node.cpp:
1910         (WebCore::Node::setDocumentRecursively): Added new method, taking existing
1911             logic and adding shadow DOM traversal.
1912         (WebCore::Node::traverseNextNode): Style fix.
1913         (WebCore::Node::traverseNextSibling): Ditto.
1914         (WebCore::Node::traversePreviousNode): Ditto.
1915         (WebCore::Node::traversePreviousNodePostOrder): Ditto.
1916         (WebCore::Node::checkReplaceChild): Changed to use setDocumentRecursively.
1917         (WebCore::Node::checkAddChild): Ditto.
1918         * dom/Node.h: Added def.
1919
1920 2011-01-12  Enrica Casucci  <enrica@apple.com>
1921
1922         Reviewed by Darin Adler.
1923
1924         WebKit2: Add support for drag and drop
1925         https://bugs.webkit.org/show_bug.cgi?id=52343
1926         <rdar://problem/7660558>
1927                
1928         This patch contains the changes required to support dropping content
1929         in WebKit on the Mac. The DragData class has been extended to provide
1930         additional context from the application (keyboard state, modal windows, etc.)
1931         as well as information of the drag pasteboard being used.
1932         The support for WebKit as drag source will be added with a separate patch.
1933
1934         * WebCore.exp.in:
1935         * page/DragController.cpp:
1936         (WebCore::DragController::dragIsMove): Added DragData parameter.
1937         (WebCore::DragController::tryDocumentDrag): Modified call to dragIsMove.
1938         (WebCore::DragController::concludeEditDrag): Same as above.
1939         * page/DragController.h: Added parameter to isCopyKeyDown.
1940         * page/mac/DragControllerMac.mm:
1941         The following methods have been modified to use the information stored
1942         in the DragData class.
1943         (WebCore::DragController::isCopyKeyDown):
1944         (WebCore::DragController::dragOperation):
1945         * platform/DragData.h:
1946         (WebCore::DragData::flags):
1947         * platform/DragData.cpp: Added default flags parameter to the constructor.
1948         * platform/mac/DragDataMac.mm:
1949         (WebCore::DragData::DragData): Added constructor that receives the name of the pasteboard to use.
1950         (WebCore::DragData::canSmartReplace):
1951         (WebCore::DragData::containsColor):
1952         (WebCore::DragData::containsFiles):
1953         (WebCore::DragData::asFilenames):
1954         (WebCore::DragData::containsPlainText):
1955         (WebCore::DragData::asPlainText):
1956         (WebCore::DragData::containsCompatibleContent):
1957         (WebCore::DragData::asURL):
1958         (WebCore::DragData::asFragment):
1959         All the following files have been modified to add the DragData
1960         parameter to isCopyKeyDown. I plan to improve this in the future
1961         and make isCopyKeyDown not platform specific.
1962         * page/android/DragControllerAndroid.cpp:
1963         (WebCore::DragController::isCopyKeyDown):
1964         * page/brew/DragControllerBrew.cpp:
1965         (WebCore::DragController::isCopyKeyDown):
1966         * page/chromium/DragControllerChromium.cpp:
1967         (WebCore::DragController::isCopyKeyDown):
1968         * page/efl/DragControllerEfl.cpp:
1969         (WebCore::DragController::isCopyKeyDown):
1970         * page/gtk/DragControllerGtk.cpp:
1971         (WebCore::DragController::isCopyKeyDown):
1972         * page/haiku/DragControllerHaiku.cpp:
1973         (WebCore::DragController::isCopyKeyDown):
1974         * page/mac/DragControllerMac.mm:
1975         (WebCore::DragController::isCopyKeyDown):
1976         (WebCore::DragController::dragOperation):
1977         * page/qt/DragControllerQt.cpp:
1978         (WebCore::DragController::isCopyKeyDown):
1979         * page/win/DragControllerWin.cpp:
1980         (WebCore::DragController::isCopyKeyDown):
1981         * page/wx/DragControllerWx.cpp:
1982         (WebCore::DragController::isCopyKeyDown):
1983
1984 2011-01-13  David Kilzer  <ddkilzer@apple.com>
1985
1986         Add missing MathMLElementFactory.h and MathMLNames.h to Xcode project
1987
1988         Not reviewed.
1989
1990         * WebCore.xcodeproj/project.pbxproj: Add missing headers.  Note
1991         that the corresponding source files were originally added to the
1992         project in r48559.
1993
1994 2011-01-12  Zhenyao Mo  <zmo@google.com>
1995
1996         Reviewed by Kenneth Russell.
1997
1998         Use GC3D types in WebGLRenderingContext and related WebGL classes
1999         https://bugs.webkit.org/show_bug.cgi?id=51908
2000
2001         * html/canvas/WebGLActiveInfo.h:
2002         (WebCore::WebGLActiveInfo::create):
2003         (WebCore::WebGLActiveInfo::type):
2004         (WebCore::WebGLActiveInfo::size):
2005         (WebCore::WebGLActiveInfo::WebGLActiveInfo):
2006         * html/canvas/WebGLBuffer.cpp:
2007         (WebCore::WebGLBuffer::associateBufferDataImpl):
2008         (WebCore::WebGLBuffer::associateBufferData):
2009         (WebCore::WebGLBuffer::associateBufferSubDataImpl):
2010         (WebCore::WebGLBuffer::associateBufferSubData):
2011         (WebCore::WebGLBuffer::byteLength):
2012         (WebCore::WebGLBuffer::getCachedMaxIndex):
2013         (WebCore::WebGLBuffer::setCachedMaxIndex):
2014         (WebCore::WebGLBuffer::setTarget):
2015         * html/canvas/WebGLBuffer.h:
2016         (WebCore::WebGLBuffer::getTarget):
2017         * html/canvas/WebGLFramebuffer.cpp:
2018         (WebCore::WebGLFramebuffer::setAttachment):
2019         (WebCore::WebGLFramebuffer::getAttachment):
2020         (WebCore::WebGLFramebuffer::getWidth):
2021         (WebCore::WebGLFramebuffer::getHeight):
2022         (WebCore::WebGLFramebuffer::getColorBufferFormat):
2023         (WebCore::WebGLFramebuffer::initializeRenderbuffers):
2024         * html/canvas/WebGLFramebuffer.h:
2025         * html/canvas/WebGLProgram.cpp:
2026         (WebCore::WebGLProgram::cacheActiveAttribLocations):
2027         (WebCore::WebGLProgram::numActiveAttribLocations):
2028         (WebCore::WebGLProgram::getActiveAttribLocation):
2029         (WebCore::WebGLProgram::isUsingVertexAttrib0):
2030         * html/canvas/WebGLProgram.h:
2031         (WebCore::WebGLProgram::getLinkCount):
2032         * html/canvas/WebGLRenderbuffer.h:
2033         (WebCore::WebGLRenderbuffer::setInternalFormat):
2034         (WebCore::WebGLRenderbuffer::getInternalFormat):
2035         (WebCore::WebGLRenderbuffer::setSize):
2036         (WebCore::WebGLRenderbuffer::getWidth):
2037         (WebCore::WebGLRenderbuffer::getHeight):
2038         * html/canvas/WebGLRenderingContext.cpp:
2039         (WebCore::WebGLRenderingContext::initializeNewContext):
2040         (WebCore::WebGLRenderingContext::sizeInBytes):
2041         (WebCore::WebGLRenderingContext::activeTexture):
2042         (WebCore::WebGLRenderingContext::bindAttribLocation):
2043         (WebCore::WebGLRenderingContext::bindBuffer):
2044         (WebCore::WebGLRenderingContext::bindFramebuffer):
2045         (WebCore::WebGLRenderingContext::bindRenderbuffer):
2046         (WebCore::WebGLRenderingContext::bindTexture):
2047         (WebCore::WebGLRenderingContext::blendColor):
2048         (WebCore::WebGLRenderingContext::blendEquation):
2049         (WebCore::WebGLRenderingContext::blendEquationSeparate):
2050         (WebCore::WebGLRenderingContext::blendFunc):
2051         (WebCore::WebGLRenderingContext::blendFuncSeparate):
2052         (WebCore::WebGLRenderingContext::bufferData):
2053         (WebCore::WebGLRenderingContext::bufferSubData):
2054         (WebCore::WebGLRenderingContext::checkFramebufferStatus):
2055         (WebCore::WebGLRenderingContext::clear):
2056         (WebCore::WebGLRenderingContext::clearColor):
2057         (WebCore::WebGLRenderingContext::clearDepth):
2058         (WebCore::WebGLRenderingContext::clearStencil):
2059         (WebCore::WebGLRenderingContext::colorMask):
2060         (WebCore::WebGLRenderingContext::copyTexImage2D):
2061         (WebCore::WebGLRenderingContext::copyTexSubImage2D):
2062         (WebCore::WebGLRenderingContext::createShader):
2063         (WebCore::WebGLRenderingContext::cullFace):
2064         (WebCore::WebGLRenderingContext::deleteBuffer):
2065         (WebCore::WebGLRenderingContext::depthFunc):
2066         (WebCore::WebGLRenderingContext::depthMask):
2067         (WebCore::WebGLRenderingContext::depthRange):
2068         (WebCore::WebGLRenderingContext::disable):
2069         (WebCore::WebGLRenderingContext::disableVertexAttribArray):
2070         (WebCore::WebGLRenderingContext::validateElementArraySize):
2071         (WebCore::WebGLRenderingContext::validateIndexArrayConservative):
2072         (WebCore::WebGLRenderingContext::validateIndexArrayPrecise):
2073         (WebCore::WebGLRenderingContext::validateRenderingState):
2074         (WebCore::WebGLRenderingContext::drawArrays):
2075         (WebCore::WebGLRenderingContext::drawElements):
2076         (WebCore::WebGLRenderingContext::enable):
2077         (WebCore::WebGLRenderingContext::enableVertexAttribArray):
2078         (WebCore::WebGLRenderingContext::framebufferRenderbuffer):
2079         (WebCore::WebGLRenderingContext::framebufferTexture2D):
2080         (WebCore::WebGLRenderingContext::frontFace):
2081         (WebCore::WebGLRenderingContext::generateMipmap):
2082         (WebCore::WebGLRenderingContext::getActiveAttrib):
2083         (WebCore::WebGLRenderingContext::getActiveUniform):
2084         (WebCore::WebGLRenderingContext::getAttachedShaders):
2085         (WebCore::WebGLRenderingContext::getAttribLocation):
2086         (WebCore::WebGLRenderingContext::getBufferParameter):
2087         (WebCore::WebGLRenderingContext::getError):
2088         (WebCore::WebGLRenderingContext::getFramebufferAttachmentParameter):
2089         (WebCore::WebGLRenderingContext::getParameter):
2090         (WebCore::WebGLRenderingContext::getProgramParameter):
2091         (WebCore::WebGLRenderingContext::getRenderbufferParameter):
2092         (WebCore::WebGLRenderingContext::getShaderParameter):
2093         (WebCore::WebGLRenderingContext::getTexParameter):
2094         (WebCore::WebGLRenderingContext::getUniform):
2095         (WebCore::WebGLRenderingContext::getUniformLocation):
2096         (WebCore::WebGLRenderingContext::getVertexAttrib):
2097         (WebCore::WebGLRenderingContext::getVertexAttribOffset):
2098         (WebCore::WebGLRenderingContext::hint):
2099         (WebCore::WebGLRenderingContext::isBuffer):
2100         (WebCore::WebGLRenderingContext::isEnabled):
2101         (WebCore::WebGLRenderingContext::isFramebuffer):
2102         (WebCore::WebGLRenderingContext::isProgram):
2103         (WebCore::WebGLRenderingContext::isRenderbuffer):
2104         (WebCore::WebGLRenderingContext::isShader):
2105         (WebCore::WebGLRenderingContext::isTexture):
2106         (WebCore::WebGLRenderingContext::lineWidth):
2107         (WebCore::WebGLRenderingContext::linkProgram):
2108         (WebCore::WebGLRenderingContext::pixelStorei):
2109         (WebCore::WebGLRenderingContext::polygonOffset):
2110         (WebCore::WebGLRenderingContext::readPixels):
2111         (WebCore::WebGLRenderingContext::renderbufferStorage):
2112         (WebCore::WebGLRenderingContext::sampleCoverage):
2113         (WebCore::WebGLRenderingContext::scissor):
2114         (WebCore::WebGLRenderingContext::stencilFunc):
2115         (WebCore::WebGLRenderingContext::stencilFuncSeparate):
2116         (WebCore::WebGLRenderingContext::stencilMask):
2117         (WebCore::WebGLRenderingContext::stencilMaskSeparate):
2118         (WebCore::WebGLRenderingContext::stencilOp):
2119         (WebCore::WebGLRenderingContext::stencilOpSeparate):
2120         (WebCore::WebGLRenderingContext::texImage2DBase):
2121         (WebCore::WebGLRenderingContext::texImage2DImpl):
2122         (WebCore::WebGLRenderingContext::texImage2D):
2123         (WebCore::WebGLRenderingContext::texParameter):
2124         (WebCore::WebGLRenderingContext::texParameterf):
2125         (WebCore::WebGLRenderingContext::texParameteri):
2126         (WebCore::WebGLRenderingContext::texSubImage2DBase):
2127         (WebCore::WebGLRenderingContext::texSubImage2DImpl):
2128         (WebCore::WebGLRenderingContext::texSubImage2D):
2129         (WebCore::WebGLRenderingContext::uniform1f):
2130         (WebCore::WebGLRenderingContext::uniform1fv):
2131         (WebCore::WebGLRenderingContext::uniform1i):
2132         (WebCore::WebGLRenderingContext::uniform1iv):
2133         (WebCore::WebGLRenderingContext::uniform2f):
2134         (WebCore::WebGLRenderingContext::uniform2fv):
2135         (WebCore::WebGLRenderingContext::uniform2i):
2136         (WebCore::WebGLRenderingContext::uniform2iv):
2137         (WebCore::WebGLRenderingContext::uniform3f):
2138         (WebCore::WebGLRenderingContext::uniform3fv):
2139         (WebCore::WebGLRenderingContext::uniform3i):
2140         (WebCore::WebGLRenderingContext::uniform3iv):
2141         (WebCore::WebGLRenderingContext::uniform4f):
2142         (WebCore::WebGLRenderingContext::uniform4fv):
2143         (WebCore::WebGLRenderingContext::uniform4i):
2144         (WebCore::WebGLRenderingContext::uniform4iv):
2145         (WebCore::WebGLRenderingContext::uniformMatrix2fv):
2146         (WebCore::WebGLRenderingContext::uniformMatrix3fv):
2147         (WebCore::WebGLRenderingContext::uniformMatrix4fv):
2148         (WebCore::WebGLRenderingContext::vertexAttrib1f):
2149         (WebCore::WebGLRenderingContext::vertexAttrib1fv):
2150         (WebCore::WebGLRenderingContext::vertexAttrib2f):
2151         (WebCore::WebGLRenderingContext::vertexAttrib2fv):
2152         (WebCore::WebGLRenderingContext::vertexAttrib3f):
2153         (WebCore::WebGLRenderingContext::vertexAttrib3fv):
2154         (WebCore::WebGLRenderingContext::vertexAttrib4f):
2155         (WebCore::WebGLRenderingContext::vertexAttrib4fv):
2156         (WebCore::WebGLRenderingContext::vertexAttribPointer):
2157         (WebCore::WebGLRenderingContext::viewport):
2158         (WebCore::WebGLRenderingContext::getBooleanParameter):
2159         (WebCore::WebGLRenderingContext::getBooleanArrayParameter):
2160         (WebCore::WebGLRenderingContext::getFloatParameter):
2161         (WebCore::WebGLRenderingContext::getIntParameter):
2162         (WebCore::WebGLRenderingContext::getLongParameter):
2163         (WebCore::WebGLRenderingContext::getUnsignedLongParameter):
2164         (WebCore::WebGLRenderingContext::getWebGLFloatArrayParameter):
2165         (WebCore::WebGLRenderingContext::getWebGLIntArrayParameter):
2166         (WebCore::WebGLRenderingContext::isTexInternalFormatColorBufferCombinationValid):
2167         (WebCore::WebGLRenderingContext::getBoundFramebufferColorFormat):
2168         (WebCore::WebGLRenderingContext::validateTextureBinding):
2169         (WebCore::WebGLRenderingContext::validateSize):
2170         (WebCore::WebGLRenderingContext::validateTexFuncFormatAndType):
2171         (WebCore::WebGLRenderingContext::validateTexFuncLevel):
2172         (WebCore::WebGLRenderingContext::validateTexFuncParameters):
2173         (WebCore::WebGLRenderingContext::validateTexFuncData):
2174         (WebCore::WebGLRenderingContext::validateDrawMode):
2175         (WebCore::WebGLRenderingContext::validateStencilFunc):
2176         (WebCore::WebGLRenderingContext::validateFramebufferFuncParameters):
2177         (WebCore::WebGLRenderingContext::validateBlendEquation):
2178         (WebCore::WebGLRenderingContext::validateBlendFuncFactors):
2179         (WebCore::WebGLRenderingContext::validateCapability):
2180         (WebCore::WebGLRenderingContext::validateUniformParameters):
2181         (WebCore::WebGLRenderingContext::validateUniformMatrixParameters):
2182         (WebCore::WebGLRenderingContext::validateBufferDataParameters):
2183         (WebCore::WebGLRenderingContext::vertexAttribfImpl):
2184         (WebCore::WebGLRenderingContext::vertexAttribfvImpl):
2185         (WebCore::WebGLRenderingContext::simulateVertexAttrib0):
2186         * html/canvas/WebGLRenderingContext.h:
2187         (WebCore::WebGLRenderingContext::VertexAttribState::VertexAttribState):
2188         * html/canvas/WebGLShader.cpp:
2189         (WebCore::WebGLShader::create):
2190         (WebCore::WebGLShader::WebGLShader):
2191         * html/canvas/WebGLShader.h:
2192         (WebCore::WebGLShader::getType):
2193         * html/canvas/WebGLTexture.cpp:
2194         (WebCore::WebGLTexture::setTarget):
2195         (WebCore::WebGLTexture::setParameteri):
2196         (WebCore::WebGLTexture::setParameterf):
2197         (WebCore::WebGLTexture::setLevelInfo):
2198         (WebCore::WebGLTexture::generateMipmapLevelInfo):
2199         (WebCore::WebGLTexture::getInternalFormat):
2200         (WebCore::WebGLTexture::getType):
2201         (WebCore::WebGLTexture::getWidth):
2202         (WebCore::WebGLTexture::getHeight):
2203         (WebCore::WebGLTexture::isNPOT):
2204         (WebCore::WebGLTexture::mapTargetToIndex):
2205         (WebCore::WebGLTexture::computeLevelCount):
2206         (WebCore::WebGLTexture::update):
2207         (WebCore::WebGLTexture::getLevelInfo):
2208         * html/canvas/WebGLTexture.h:
2209         (WebCore::WebGLTexture::LevelInfo::setInfo):
2210         * html/canvas/WebGLUniformLocation.cpp:
2211         (WebCore::WebGLUniformLocation::create):
2212         (WebCore::WebGLUniformLocation::WebGLUniformLocation):
2213         (WebCore::WebGLUniformLocation::location):
2214         * html/canvas/WebGLUniformLocation.h:
2215         * platform/graphics/GraphicsContext3D.h: Map GC3Dboolean to bool instead of unsigned char.
2216
2217 2011-01-13  Jian Li  <jianli@chromium.org>
2218
2219         Reviewed by Darin Fisher.
2220
2221         Change createObjectURL and revokeObjectURL to put under webkitURL.
2222         https://bugs.webkit.org/show_bug.cgi?id=52257
2223
2224         Note that we add "webkit" vendor prefix to URL that is introduced in
2225         the latest File API spec.
2226
2227         For the time being, we implement webkitURL as a readonly attribute
2228         instead of a constructor so that we will not expose prototype property,
2229         as required by the spec.
2230
2231         * Android.derived.jscbindings.mk:
2232         * Android.derived.v8bindings.mk:
2233         * Android.mk:
2234         * CMakeLists.txt:
2235         * DerivedSources.cpp:
2236         * DerivedSources.make:
2237         * GNUmakefile.am:
2238         * WebCore.gypi:
2239         * WebCore.pri:
2240         * WebCore.pro:
2241         * WebCore.vcproj/WebCore.vcproj:
2242         * WebCore.xcodeproj/project.pbxproj:
2243         * html/DOMURL.cpp: Added.
2244         * html/DOMURL.h: Added.
2245         * html/DOMURL.idl: Added.
2246         * inspector/front-end/NetworkPanel.js:
2247         * inspector/front-end/utilities.js:
2248         * page/DOMWindow.cpp:
2249         (WebCore::DOMWindow::webkitURL):
2250         * page/DOMWindow.h:
2251         * page/DOMWindow.idl:
2252         * workers/WorkerContext.cpp:
2253         (WebCore::WorkerContext::webkitURL):
2254         * workers/WorkerContext.h:
2255         * workers/WorkerContext.idl:
2256
2257 2011-01-13  Emil Eklund  <eae@chromium.org>
2258
2259         Reviewed by Dimitri Glazkov.
2260
2261         Setting outerText should convert CR/LF to <br>
2262         https://bugs.webkit.org/show_bug.cgi?id=52268
2263
2264         Make set outerText support line breaks (sharing the text to fragment code
2265         with setInnerText) and handle empty text nodes the same way IE does.
2266
2267         Test: fast/dom/set-outer-text.html
2268
2269         * html/HTMLElement.cpp:
2270         (WebCore::HTMLElement::textToFragment): Shared between setInnerText and setOuterText
2271         (WebCore::HTMLElement::setInnerText): Split out text parsing code.
2272         (WebCore::mergeWithNextTextNode): Split out text node merging code.
2273         (WebCore::HTMLElement::setOuterText): Added support for line breaks.
2274         * html/HTMLElement.h:
2275
2276 2011-01-13  Zhenyao Mo  <zmo@google.com>
2277
2278         Reviewed by Kenneth Russell.
2279
2280         Relax the ESSL valid charset a little bit to include " ' `
2281         https://bugs.webkit.org/show_bug.cgi?id=52396
2282
2283         * html/canvas/WebGLRenderingContext.cpp:
2284
2285 >>>>>>> .r75740
2286 2011-01-13  Adrienne Walker  <enne@google.com>
2287
2288         Reviewed by Kenneth Russell.
2289
2290         [chromium] Attempt to fix crash in tiled compositor memcpy
2291         https://bugs.webkit.org/show_bug.cgi?id=52379
2292
2293         * platform/graphics/chromium/LayerTilerChromium.cpp:
2294         (WebCore::LayerTilerChromium::update):
2295
2296 2011-01-13  Dimitri Glazkov  <dglazkov@chromium.org>
2297
2298         Unreviewed, rolling out r75725.
2299         http://trac.webkit.org/changeset/75725
2300         https://bugs.webkit.org/show_bug.cgi?id=52317
2301
2302         Caused crashes in layout tests.
2303
2304         * css/CSSStyleSelector.cpp:
2305         (WebCore::CSSStyleSelector::initForStyleResolve):
2306         * html/HTMLInputElement.cpp:
2307         (WebCore::HTMLInputElement::updateType):
2308         * html/InputType.cpp:
2309         * html/InputType.h:
2310         * html/RangeInputType.cpp:
2311         * html/RangeInputType.h:
2312         * html/shadow/SliderThumbElement.cpp:
2313         (WebCore::SliderThumbElement::defaultEventHandler):
2314         (WebCore::SliderThumbElement::detach):
2315         * html/shadow/SliderThumbElement.h:
2316         (WebCore::SliderThumbElement::SliderThumbElement):
2317         (WebCore::SliderThumbElement::create):
2318         * rendering/MediaControlElements.cpp:
2319         (WebCore::MediaControlInputElement::attach):
2320         (WebCore::MediaControlInputElement::updateStyle):
2321         * rendering/RenderSlider.cpp:
2322         (WebCore::RenderSlider::~RenderSlider):
2323         (WebCore::RenderSlider::styleDidChange):
2324         (WebCore::RenderSlider::createThumbStyle):
2325         (WebCore::RenderSlider::thumbRect):
2326         (WebCore::RenderSlider::layout):
2327         (WebCore::RenderSlider::updateFromElement):
2328         (WebCore::RenderSlider::mouseEventIsInThumb):
2329         (WebCore::RenderSlider::mouseEventOffsetToThumb):
2330         (WebCore::RenderSlider::setValueForPosition):
2331         (WebCore::RenderSlider::positionForOffset):
2332         (WebCore::RenderSlider::currentPosition):
2333         (WebCore::RenderSlider::trackSize):
2334         (WebCore::RenderSlider::forwardEvent):
2335         (WebCore::RenderSlider::inDragMode):
2336         * rendering/RenderSlider.h:
2337
2338 2011-01-12  Dimitri Glazkov  <dglazkov@chromium.org>
2339
2340         Reviewed by Darin Adler.
2341
2342         Flip input[type=range] to use the new shadow DOM model.
2343         https://bugs.webkit.org/show_bug.cgi?id=52317
2344
2345         This is a straight-up flip, minimal change to the logic, which will be
2346         refactored in a follow-up patch.
2347
2348         Covered by existing tests.
2349
2350         * css/CSSStyleSelector.cpp:
2351         (WebCore::CSSStyleSelector::initForStyleResolve): Changed to use either
2352             host or parent node to find parent.
2353         * html/HTMLInputElement.cpp:
2354         (WebCore::HTMLInputElement::updateType): Added logic for destroying/creating
2355             shadow DOM subtree.
2356         * html/InputType.cpp:
2357         (WebCore::InputType::createShadowSubtree): Added empty decl.
2358         (WebCore::InputType::destroyShadowSubtree): Added a method to destroy
2359             shadow subtree.
2360         * html/InputType.h: Added defs.
2361         * html/RangeInputType.cpp:
2362         (WebCore::RangeInputType::createShadowSubtree): Added a virtual method to create
2363             slider thumb.
2364         * html/RangeInputType.h: Adde def.
2365         * html/shadow/SliderThumbElement.cpp: Added temporary RenderSliderThumb class
2366             to handle cascading appearance.
2367         (WebCore::RenderSliderThumb::RenderSliderThumb): Added.
2368         (WebCore::RenderSliderThumb::layout): Moved here the logic from
2369             RenderSlider::createThumbStyle.
2370         (WebCore::SliderThumbElement::createRenderer): Added virtual method to
2371             create RenderSliderThumb instance.
2372         (WebCore::SliderThumbElement::defaultEventHandler): Changed to use HTMLDivElement
2373             as base class.
2374         (WebCore::SliderThumbElement::detach): Ditto.
2375         * html/shadow/SliderThumbElement.h:
2376         (WebCore::SliderThumbElement::SliderThumbElement): Ditto.
2377         (WebCore::SliderThumbElement::create): Ditto.
2378         (WebCore::toSliderThumbElement): Added a casting helper.
2379         * rendering/MediaControlElements.cpp:
2380         (WebCore::MediaControlInputElement::attach): Added handling of shadow DOM,
2381             since the whole method is hand-rolled.
2382         (WebCore::MediaControlInputElement::updateStyle): Ditto.
2383         * rendering/RenderSlider.cpp:
2384         (WebCore::RenderSlider::~RenderSlider): Removed unneeded code.
2385         (WebCore::RenderSlider::thumbRect): Changed to use sliderThumbElement helper.
2386         (WebCore::RenderSlider::layout): Ditto.
2387         (WebCore::RenderSlider::sliderThumbElement): Added a temporary helper to access
2388             SliderThumbElement.
2389         (WebCore::RenderSlider::mouseEventIsInThumb): Changed to use sliderThumbElement helper.
2390         (WebCore::RenderSlider::mouseEventOffsetToThumb): Ditto.
2391         (WebCore::RenderSlider::setValueForPosition): Ditto.
2392         (WebCore::RenderSlider::positionForOffset): Ditto.
2393         (WebCore::RenderSlider::currentPosition): Ditto.
2394         (WebCore::RenderSlider::trackSize): Ditto.
2395         (WebCore::RenderSlider::forwardEvent): Ditto.
2396         (WebCore::RenderSlider::inDragMode): Ditto.
2397         * rendering/RenderSlider.h: Added def.
2398
2399 2011-01-13  Dan Bernstein  <mitz@apple.com>
2400
2401         Reviewed by Simon Fraser.
2402
2403         <rdar://problem/8098442> Crash in Widget::setFrameRect()
2404         https://bugs.webkit.org/show_bug.cgi?id=52375
2405
2406         Test: plugins/destroy-on-setwindow.html
2407
2408         * platform/mac/WidgetMac.mm:
2409         (WebCore::Widget::setFrameRect): Protect the Widget from being deleted as a result of calling
2410         out to the view.
2411         (WebCore::Widget::getOuterView): Coding style fix.
2412         (WebCore::Widget::paint): Protect the Widget from being deleted as a result of calling out to
2413         the views. This is precautionary, since this function does not applear to access member variables
2414         after such calls.
2415         * platform/wx/WidgetWx.cpp:
2416         (WebCore::Widget::setFrameRect): Protect the Widget from being deleted as a result of calling
2417         out to the platform widget.
2418
2419 2011-01-13  Csaba Osztrogonác  <ossy@webkit.org>
2420
2421         Unreviewed buildfix after r75715.
2422
2423         * WebCore.pri:
2424         * WebCore.pro:
2425
2426 2011-01-13  Pavel Feldman  <pfeldman@chromium.org>
2427
2428         Not reviewed: Qt build fix.
2429
2430         * WebCore.pri:
2431
2432 2011-01-12  Pavel Feldman  <pfeldman@chromium.org>
2433
2434         Reviewed by Yury Semikhatsky.
2435
2436         Web Inspector: embed injected script into the backend.
2437         https://bugs.webkit.org/show_bug.cgi?id=52312
2438
2439         InjectedScript belongs to the backend of the system and
2440         should be exposed by means of protocol, not InjectedScriptAccess.
2441         This patch makes injected script a part of the backend.
2442         It introduces single manual generation step (xxd -i) that should be
2443         automated by the build scripts for all the platforms.
2444
2445         * CMakeLists.txt:
2446         * DerivedSources.make:
2447         * GNUmakefile.am:
2448         * WebCore.gyp/WebCore.gyp:
2449         * WebCore.gypi:
2450         * WebCore.pro:
2451         * WebCore.vcproj/WebCore.vcproj:
2452         * WebCore.xcodeproj/project.pbxproj:
2453         * bindings/js/JSInjectedScriptHostCustom.cpp:
2454         (WebCore::InjectedScriptHost::injectedScriptFor):
2455         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
2456         (WebCore::InjectedScriptHost::injectedScriptFor):
2457         * inspector/InjectedScriptHost.cpp:
2458         (WebCore::InjectedScriptHost::injectedScriptSource):
2459         * inspector/InjectedScriptHost.h:
2460         * inspector/Inspector.idl:
2461         * inspector/InspectorController.cpp:
2462         (WebCore::InspectorController::restoreInspectorStateFromCookie):
2463         * inspector/InspectorState.cpp:
2464         (WebCore::InspectorState::InspectorState):
2465         * inspector/InspectorState.h:
2466         * inspector/front-end/InjectedScript.js: Removed.
2467         * inspector/front-end/WebKit.qrc:
2468         * inspector/front-end/inspector.html:
2469         * inspector/front-end/inspector.js:
2470         (WebInspector.doLoadedDone.propertyNamesCallback):
2471         (WebInspector.doLoadedDone):
2472         * inspector/xxd.pl: Added.
2473
2474 2011-01-13  Mikhail Naganov  <mnaganov@chromium.org>
2475
2476         Reviewed by Timothy Hatcher.
2477
2478         Web Inspector: Cleanup after r75613 -- make all UI-facing strings
2479         to be passed directly to WebInspector.UIString
2480
2481         https://bugs.webkit.org/show_bug.cgi?id=52365
2482
2483         * English.lproj/localizedStrings.js:
2484         * inspector/front-end/ApplicationCacheItemsView.js:
2485         (WebInspector.ApplicationCacheItemsView.prototype._updateCallback):
2486         (WebInspector.ApplicationCacheItemsView.prototype._populateDataGrid):
2487         * inspector/front-end/AuditRules.js:
2488         (WebInspector.AuditRules.GzipRule.prototype.doRun):
2489         (WebInspector.AuditRules.CookieSizeRule.prototype.processCookies):
2490         (WebInspector.AuditRules.StaticCookielessRule.prototype.processCookies):
2491         * inspector/front-end/BreakpointsSidebarPane.js:
2492         (WebInspector.EventListenerBreakpointsSidebarPane):
2493         (WebInspector.EventListenerBreakpointsSidebarPane.prototype._createCategory):
2494         * inspector/front-end/CookieItemsView.js:
2495         (WebInspector.CookieItemsView.prototype._updateWithCookies):
2496         * inspector/front-end/ImageView.js:
2497         (WebInspector.ImageView.prototype._createContentIfNeeded.onImageLoad):
2498         (WebInspector.ImageView.prototype._createContentIfNeeded):
2499         * inspector/front-end/NetworkPanel.js:
2500         (WebInspector.NetworkTimeCalculator.prototype.formatValue):
2501         (WebInspector.NetworkTransferTimeCalculator.prototype.formatValue):
2502         (WebInspector.NetworkTransferDurationCalculator.prototype.formatValue):
2503         * inspector/front-end/ProfileDataGridTree.js:
2504         (WebInspector.ProfileDataGridNode.prototype.get data.formatMilliseconds):
2505         (WebInspector.ProfileDataGridNode.prototype.get data):
2506         * inspector/front-end/Resource.js:
2507         (WebInspector.Resource.Type.toUIString):
2508         (WebInspector.Resource.Type.toString):
2509         * inspector/front-end/TimelineOverviewPane.js:
2510         (WebInspector.TimelineOverviewCalculator.prototype.formatValue):
2511         * inspector/front-end/TimelinePanel.js:
2512         (WebInspector.TimelinePanel):
2513         (WebInspector.TimelineCalculator.prototype.formatValue):
2514         (WebInspector.TimelinePanel.FormattedRecord.prototype._generateAggregatedInfo):
2515         (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
2516         (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
2517         * inspector/front-end/utilities.js:
2518         ():
2519
2520 2011-01-13  Viatcheslav Ostapenko  <ostapenko.viatcheslav@nokia.com>
2521
2522         Reviewed by Simon Hausmann.
2523
2524         [Qt] Need a way to inform the application when a Netscape plugin is created.
2525         https://bugs.webkit.org/show_bug.cgi?id=30179
2526
2527         Added "c" style static method for the application to hook up for
2528         receiving notifications when a plugin is created.
2529
2530         * plugins/symbian/PluginViewSymbian.cpp:
2531         (qtwebkit_setPluginCreatedCallback):
2532         (WebCore::PluginView::platformStart):
2533
2534 2011-01-13  Yi Shen  <yi.4.shen@nokia.com>
2535
2536         Reviewed by Eric Seidel.
2537
2538         [Qt] Use a black background color for the video element on Qt Mobile
2539         https://bugs.webkit.org/show_bug.cgi?id=52252
2540
2541         Use black as the background color for the video element on Qt Mobile.
2542
2543         * css/themeQtMobile.css:
2544         (video):
2545
2546 2011-01-13  Yi Shen  <yi.4.shen@nokia.com>
2547
2548         Reviewed by Eric Seidel.
2549
2550         [Qt] Use a big central media play control button for video element 
2551         https://bugs.webkit.org/show_bug.cgi?id=52315
2552
2553         When ChromeClient::requiresFullscreenForVideoPlayback() returns true,
2554         all other control buttons for the video element are hidden, except 
2555         a big centralized play button.
2556
2557         No new tests because no client implements requiresFullscreenForVideoPlayback yet.
2558
2559         * WebCore.pri:
2560         * css/mediaControlsQtFullscreen.css: Added.
2561         (audio):
2562         (audio::-webkit-media-controls-panel):
2563         (video::-webkit-media-controls-panel):
2564         (video:-webkit-full-page-media::-webkit-media-controls-panel):
2565         (audio::-webkit-media-controls-mute-button):
2566         (video::-webkit-media-controls-mute-button):
2567         (audio::-webkit-media-controls-play-button):
2568         (video::-webkit-media-controls-play-button):
2569         (audio::-webkit-media-controls-timeline-container):
2570         (video::-webkit-media-controls-timeline-container):
2571         (audio::-webkit-media-controls-current-time-display):
2572         (video::-webkit-media-controls-current-time-display):
2573         (audio::-webkit-media-controls-time-remaining-display, video::-webkit-media-controls-time-remaining-display):
2574         (audio::-webkit-media-controls-timeline):
2575         (video::-webkit-media-controls-timeline):
2576         (audio::-webkit-media-controls-volume-slider-container):
2577         (video::-webkit-media-controls-volume-slider-container):
2578         (audio::-webkit-media-controls-volume-slider):
2579         (video::-webkit-media-controls-volume-slider):
2580         (audio::-webkit-media-controls-seek-back-button, video::-webkit-media-controls-seek-back-button):
2581         (audio::-webkit-media-controls-seek-forward-button, video::-webkit-media-controls-seek-forward-button):
2582         (audio::-webkit-media-controls-fullscreen-button):
2583         (video::-webkit-media-controls-fullscreen-button):
2584         (audio::-webkit-media-controls-rewind-button, video::-webkit-media-controls-rewind-button):
2585         (audio::-webkit-media-controls-return-to-realtime-button, video::-webkit-media-controls-return-to-realtime-button):
2586         (audio::-webkit-media-controls-toggle-closed-captions-button, video::-webkit-media-controls-toggle-closed-captions-button):
2587         * platform/qt/RenderThemeQt.cpp:
2588         (WebCore::RenderThemeQt::extraMediaControlsStyleSheet):
2589
2590 2011-01-13  Carlos Garcia Campos  <cgarcia@igalia.com>
2591
2592         Reviewed by Xan Lopez.
2593
2594         [GTK] Paint toggle buttons inconsistent when the object state is indeterminate
2595         https://bugs.webkit.org/show_bug.cgi?id=52361
2596
2597         Check whether the object state is indeterminate to set the flag
2598         GTK_STATE_FLAG_INCONSISTENT before rendering check and radio
2599         buttons.
2600
2601         * platform/gtk/RenderThemeGtk3.cpp:
2602         (WebCore::paintToggle):
2603
2604 2011-01-13  Yi Shen  <yi.4.shen@nokia.com>
2605
2606         Reviewed by Simon Hausmann.
2607
2608         [Qt] Extend the Platform Plugin to support full screen video handler
2609         https://bugs.webkit.org/show_bug.cgi?id=51249
2610
2611         Make MediaPlayerPrivateQt support a fullscreen player.
2612
2613         No new tests because LayoutTests/media/media-fullscreen-inline.html already exists.
2614         However, this test failed for Qt (QtMediaPlayer) due to durationchange event getting fired twice.
2615         So, still skip it for Qt.
2616
2617         * WebCore.pro:
2618         * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
2619         (WebCore::MediaPlayerPrivateQt::MediaPlayerPrivateQt):
2620         (WebCore::MediaPlayerPrivateQt::removeVideoItem):
2621         (WebCore::MediaPlayerPrivateQt::restoreVideoItem):
2622         * platform/graphics/qt/MediaPlayerPrivateQt.h:
2623         (WebCore::MediaPlayerPrivateQt::supportsFullscreen):
2624         (WebCore::MediaPlayerPrivateQt::mediaPlayer):
2625
2626 2011-01-13  Dan Bernstein  <mitz@apple.com>
2627
2628         Reviewed by Dave Hyatt.
2629
2630         <rdar://problem/8858548> Disable inheritance of text emphasis marks to ruby text
2631         https://bugs.webkit.org/show_bug.cgi?id=52359
2632
2633         Test: fast/ruby/text-emphasis.html
2634
2635         * css/html.css:
2636         (rt):
2637
2638 2011-01-13  Csaba Osztrogonác  <ossy@webkit.org>
2639
2640         Rubber-stamped by David Levin.
2641
2642         Trivial fix after r75682.
2643
2644         * loader/FrameLoader.cpp: Remove accidentally committed debug code.
2645         (WebCore::FrameLoader::shouldClose):
2646
2647 2011-01-12  Ryosuke Niwa  <rniwa@webkit.org>
2648
2649         Reviewed by Eric Seidel.
2650
2651         REGRESSION(r69831): focus() in onkeypress discards input (affects chaseonline.chase.com)
2652         https://bugs.webkit.org/show_bug.cgi?id=52241
2653
2654         The bug was caused by RenderTextControl::selection's creating a Range with m_insertText
2655         which is a shadow DOM div as both start and end containers. Fixed the bug by traversing
2656         through the descendents of m_innerText and using the right start and end containers to
2657         create a Range.
2658
2659         Test: fast/forms/focus-change-on-keypress.html
2660
2661         * rendering/RenderTextControl.cpp:
2662         (WebCore::setContainerAndOffsetForRange): Added; a helper function.
2663         (WebCore::RenderTextControl::selection): See above.
2664
2665 2011-01-12  Kenichi Ishibashi  <bashi@google.com>
2666
2667         Reviewed by Kent Tamura.
2668
2669         M_formElementsWithFormAttribute not cleared when FormAssociatedElement is inserted with a null m_form and then removed.
2670         https://bugs.webkit.org/show_bug.cgi?id=51905
2671
2672         Calls unregisterFormElementWithFormAttribute() when 'form' attribute
2673         is removed.
2674
2675         Tests: fast/forms/form-associated-element-crash.html
2676                fast/forms/form-associated-element-crash2.html
2677
2678         * html/FormAssociatedElement.cpp:
2679         (WebCore::FormAssociatedElement::formAttributeChanged):
2680
2681 2011-01-12  Kenichi Ishibashi  <bashi@google.com>
2682
2683         Reviewed by Kent Tamura.
2684
2685         M_formElementsWithFormAttribute not cleared when Node is moved to another document.
2686         https://bugs.webkit.org/show_bug.cgi?id=51418
2687
2688         Calls unregisterFormElementWithFormAttribute() when form associated elements
2689         are moved to another document.
2690
2691         Test: fast/forms/change-form-element-document-crash.html
2692
2693         * html/FormAssociatedElement.cpp:
2694         (WebCore::FormAssociatedElement::willMoveToNewOwnerDocument): Added.
2695         * html/FormAssociatedElement.h: Added willMoveToNewOwnerDocument().
2696         * html/HTMLFormControlElement.cpp:
2697         (WebCore::HTMLFormControlElement::willMoveToNewOwnerDocument): Added.
2698         * html/HTMLFormControlElement.h: Added willMoveToNewOwnerDocument().
2699         * html/HTMLObjectElement.cpp:
2700         (WebCore::HTMLObjectElement::willMoveToNewOwnerDocument): Added.
2701         * html/HTMLObjectElement.h: Added willMoveToNewOwnerDocument().
2702         * html/HTMLPlugInImageElement.h: Moves willMoveToNewOwnerDocument() to protected.
2703
2704 2011-01-12  Ryosuke Niwa  <rniwa@webkit.org>
2705
2706         Reviewed by Eric Seidel.
2707
2708         Stop instantiating legacy editing positions in ApplyBlockElementCommand and ApplyStyleCommand
2709         https://bugs.webkit.org/show_bug.cgi?id=52250
2710
2711         Removed instantiation of legacy editing positions.
2712         Calls to Position::Position are replaced by calls to Position's convenience functions.
2713
2714         Also added firstPositionInOrBeforeNode and lastPositionInOrAfterNode,
2715         which are functions that return firstPositionInNode and lastPositionInNode respectively
2716         when the specified node can have children for editing purpose and return positionBeforeNode
2717         and positionAfterNode respectively otherwise. They can be used to guarantee that we never
2718         create a bogus position like [img, 0] or [br, 0].
2719
2720         No tests are added since this is a cleanup.
2721
2722         * editing/ApplyBlockElementCommand.cpp:
2723         (WebCore::ApplyBlockElementCommand::formatSelection):
2724         * editing/ApplyStyleCommand.cpp:
2725         (WebCore::ApplyStyleCommand::applyBlockStyle):
2726         (WebCore::ApplyStyleCommand::fixRangeAndApplyInlineStyle):
2727         (WebCore::ApplyStyleCommand::highestAncestorWithConflictingInlineStyle):
2728         (WebCore::ApplyStyleCommand::removeInlineStyle):
2729         (WebCore::ApplyStyleCommand::nodeFullySelected):
2730         (WebCore::ApplyStyleCommand::nodeFullyUnselected):
2731         (WebCore::ApplyStyleCommand::splitTextAtStart):
2732         (WebCore::ApplyStyleCommand::splitTextAtEnd):
2733         (WebCore::ApplyStyleCommand::splitTextElementAtStart):
2734         (WebCore::ApplyStyleCommand::splitTextElementAtEnd):
2735         (WebCore::ApplyStyleCommand::isValidCaretPositionInTextNode):
2736         (WebCore::ApplyStyleCommand::mergeStartWithPreviousIfIdentical):
2737         (WebCore::ApplyStyleCommand::mergeEndWithNextIfIdentical):
2738         (WebCore::ApplyStyleCommand::computedFontSize):
2739         (WebCore::ApplyStyleCommand::joinChildTextNodes):
2740         * editing/ApplyStyleCommand.h:
2741         * editing/htmlediting.h:
2742         (WebCore::firstPositionInOrBeforeNode): Added.
2743         (WebCore::lastPositionInOrAfterNode): Added.
2744
2745 2011-01-12  Sam Weinig  <sam@webkit.org>
2746
2747         Another build fix.
2748
2749         * platform/mac/WheelEventMac.mm:
2750         (WebCore::phaseForEvent):
2751
2752 2011-01-12  Sam Weinig  <sam@webkit.org>
2753
2754         Fix build.
2755
2756         * platform/mac/WheelEventMac.mm:
2757         (WebCore::phaseForEvent):
2758
2759 2011-01-12  Adam Barth  <abarth@webkit.org>
2760
2761         Reviewed by Darin Adler.
2762
2763         Remove premature optimization from SchemeRegistry
2764         https://bugs.webkit.org/show_bug.cgi?id=52283
2765
2766         As far as I can tell, this optimization isn't necessary.  I'm slightly
2767         unsure which benchmarks to run to demonstrate this numerically, but
2768         none of the benchmarks Chromium tracks were affected by adding a
2769         similar check for "display-isolated" schemes.
2770
2771         * platform/SchemeRegistry.cpp:
2772         (WebCore::SchemeRegistry::shouldTreatURLSchemeAsLocal):
2773
2774 2011-01-12  Beth Dakin  <bdakin@apple.com>
2775
2776         Reviewed by Anders Carlsson.
2777
2778         Add-on for https://bugs.webkit.org/show_bug.cgi?id=52309 
2779         Expose fixed layout through WebKit SPI
2780         -and corresponding-
2781         <rdar://problem/8844464>
2782
2783         And now with getters!
2784         * WebCore.exp.in:
2785
2786 2011-01-12  Sam Weinig  <sam@webkit.org>
2787
2788         Reviewed by Anders Carlsson.
2789
2790         https://bugs.webkit.org/show_bug.cgi?id=52337
2791         PlatformWheelEvent should know about the scroll phase on the Mac
2792
2793         Add a phase parameter on Mac PlatformWheelEvents.
2794
2795         * platform/PlatformWheelEvent.h:
2796         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
2797         (WebCore::PlatformWheelEvent::phase):
2798         * platform/mac/WheelEventMac.mm:
2799         (WebCore::phaseForEvent):
2800         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
2801
2802 2011-01-12  Chris Marrin  <cmarrin@apple.com>
2803
2804         Unreviewed.
2805
2806         A couple of lines of the patch for https://bugs.webkit.org/show_bug.cgi?id=52321
2807         were omitted. 
2808
2809         * platform/graphics/ca/GraphicsLayerCA.cpp:
2810         (WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers):
2811
2812 2011-01-12  Chris Marrin  <cmarrin@apple.com>
2813
2814         Unreviewed.
2815
2816         Getting rid of an assert that was causing build failures that turns out not to be needed.
2817
2818         * rendering/RenderLayer.cpp:
2819         (WebCore::RenderLayer::paintsWithTransform):
2820
2821 2011-01-12  Chris Marrin  <cmarrin@apple.com>
2822
2823         Unreviewed.
2824
2825         Another fix for Gtk
2826
2827         * rendering/RenderLayer.cpp:
2828         (WebCore::RenderLayer::paintsWithTransform):
2829
2830 2011-01-12  Chris Marrin  <cmarrin@apple.com>
2831
2832         Unreviewed.
2833
2834         Fix for Gtk and Windows builds
2835
2836         * page/Frame.cpp:
2837         (WebCore::Frame::scalePage):
2838         * page/Frame.h:
2839         * platform/graphics/ca/win/PlatformCALayerWin.cpp:
2840         (PlatformCALayer::contentsScale):
2841         (PlatformCALayer::setContentsScale):
2842
2843 2011-01-12  Chris Marrin  <cmarrin@apple.com>
2844
2845         UNreviewed.
2846
2847         Fix for the Windows build
2848
2849         * platform/graphics/ca/win/PlatformCALayerWin.cpp:
2850         (contentsScale):
2851         (setContentsScale):
2852
2853 2011-01-12  Chris Marrin  <cmarrin@apple.com>
2854
2855         Unreviewed.
2856
2857         Another build fix
2858
2859         * platform/graphics/ca/GraphicsLayerCA.cpp:
2860         (WebCore::GraphicsLayerCA::clampedContentsScaleForScale):
2861         * platform/graphics/ca/mac/PlatformCALayerMac.mm:
2862         (PlatformCALayer::setContentsScale):
2863
2864 2011-01-11  Matthew Delaney  <mdelaney@apple.com>
2865
2866         Reviewed by Simon Fraser.
2867
2868         Max area bound needed in creation of IOSurface in ImageBufferCG.cpp
2869         https://bugs.webkit.org/show_bug.cgi?id=52172
2870
2871         Tests: fast/canvas/canvas-large-dimensions.html
2872
2873         * platform/graphics/cg/ImageBufferCG.cpp:
2874         (WebCore::ImageBuffer::ImageBuffer):
2875
2876 2011-01-12  Daniel Bates  <dbates@rim.com>
2877             And Benjamin C Meyer  <bmeyer@rim.com>
2878
2879         Build fix when building with Inspector disabled
2880         https://bugs.webkit.org/show_bug.cgi?id=52313
2881
2882         After changeset 75604 <http://trac.webkit.org/changeset/75604> it's not
2883         possible to build when the Inspector is disabled.
2884
2885         * inspector/InspectorInstrumentation.h:
2886         (WebCore::InspectorInstrumentation::updateApplicationCacheStatus): Fix build breakage when building
2887         with Inspector disabled and Offline Web Applications enabled by moving macro guard condition
2888         ENABLE(INSPECTOR) && ENABLE(OFFLINE_WEB_APPLICATIONS) into function body. This makes us also
2889         consistent with the form we use for InspectorInstrumentation::networkStateChanged() and other
2890         InspectorInstrumentation functions.
2891         * loader/appcache/ApplicationCacheGroup.cpp:
2892         (WebCore::ApplicationCacheGroup::didReceiveData): Fix build breakage when building with Inspector
2893         disabled by adding ENABLE(INSPECTOR) guard around code that references the instance variable
2894         ApplicationCacheGroup::m_currentResourceIdentifier as this variable only exists when building
2895         with the Inspector.
2896         (WebCore::ApplicationCacheGroup::didFinishLoading): Ditto.
2897         (WebCore::ApplicationCacheGroup::didFail): Ditto.
2898
2899 2011-01-12  Chris Marrin  <cmarrin@apple.com>
2900
2901         Unreviewed.
2902
2903         Fix a build issue from http://trac.webkit.org/changeset/75639.
2904
2905         * platform/graphics/GraphicsLayer.h:
2906         (WebCore::GraphicsLayer::contentsScale):
2907         (WebCore::GraphicsLayer::setContentsScale):
2908
2909 2011-01-12  Chris Marrin  <cmarrin@apple.com>
2910
2911         Reviewed by Kevin Decker.
2912
2913         Pages with accelerated layers lose subpixel-AA and become blurry when a scale factor is applied
2914         rdar://problem/8824974
2915
2916         This prevents the rootLayer (with the WebKit rendered content) from going becoming
2917         a tiled layer when zoomed, and when there is other layered content on the page.
2918         This speeds up zooming a lot and avoids some buggy behavior in CA with a very large
2919         number of layers.
2920         
2921         * rendering/RenderLayer.cpp:
2922         (WebCore::RenderLayer::paintsWithTransform):
2923         * rendering/RenderLayer.h:
2924         * rendering/RenderLayerBacking.cpp:
2925         (WebCore::RenderLayerBacking::paintingGoesToWindow):
2926
2927 2011-01-12  Chris Marrin  <cmarrin@apple.com>
2928
2929         Reviewed by Simon Fraser.
2930         
2931         Pages with accelerated layers lose subpixel-AA and become blurry when a scale factor is applied
2932         rdar://problem/8824974
2933
2934         When scaled, WebKit renders the page content at the scaled up size, so there are no
2935         scaling artifacts. But content drawn into a layer's backing store does not scale up.
2936         This is made worse by the fact that the root page contents become layered when there
2937         are other accelerated compositing layers present (video, plugins, etc.).
2938         
2939         Plumb scaling factor from Frame::scalePage() down into all layers with content. It
2940         eventually calls CALayer::setContentsScale which renders to a backing store whose dimensions
2941         are scaled, causing them to render larger and appear pixel perfect at the scaled
2942         page size.
2943  
2944          * page/Frame.cpp:
2945          (WebCore::Frame::updateContentsScale):
2946          (WebCore::Frame::scalePage):
2947          * page/Frame.h:
2948          * platform/graphics/GraphicsLayer.h:
2949          * platform/graphics/ca/GraphicsLayerCA.cpp:
2950          (WebCore::GraphicsLayerCA::setContentsScale):
2951          (WebCore::GraphicsLayerCA::clampedContentsScaleForScale):
2952          * platform/graphics/ca/GraphicsLayerCA.h:
2953          (WebCore::GraphicsLayerCA::contentsScale):
2954          * platform/graphics/ca/PlatformCALayer.h:
2955          * platform/graphics/ca/mac/PlatformCALayerMac.mm:
2956          (PlatformCALayer::contentsScale):
2957          (PlatformCALayer::setContentsScale):
2958          * rendering/RenderLayer.cpp:
2959          (WebCore::RenderLayer::updateContentsScale):
2960          * rendering/RenderLayer.h:
2961          * rendering/RenderLayerBacking.cpp:
2962          (WebCore::RenderLayerBacking::createGraphicsLayer):
2963          (WebCore::RenderLayerBacking::updateForegroundLayer):
2964          (WebCore::RenderLayerBacking::updateMaskLayer):
2965          (WebCore::RenderLayerBacking::updateContentsScale):
2966          * rendering/RenderLayerBacking.h:
2967          * rendering/RenderLayerCompositor.cpp:
2968          (WebCore::RenderLayerCompositor::updateContentsScale):
2969          * rendering/RenderLayerCompositor.h:
2970  
2971 2011-01-12  Stephen White  <senorblanco@chromium.org>
2972
2973         Reviewed by James Robinson.
2974
2975         Fix DrawingBuffer issues for depth/stencil, extensions, etc.
2976         https://bugs.webkit.org/show_bug.cgi?id=52310
2977
2978         1)  GL_TEXTURE is not a valid argument to glFramebufferTexture2D()
2979         (should be GL_TEXTURE_2D).
2980         2)  Support for the multisampling extension was being checked after
2981         the DrawingBuffer constructor was called, which calls multisample()
2982         to check for the extension.
2983         3)  If depth or stencil is set, the corresponding framebuffers must
2984         be created in the DrawingBuffer constructor.
2985         4)  GL_DEPTH_STENCIL is not a valid framebuffer internal type in
2986         GLES2.  Must use GL_OES_DEPTH24_STENCIL8, and check for the
2987         OES_packed_depth_stencil extension.
2988
2989         * platform/graphics/chromium/DrawingBufferChromium.cpp:
2990         (WebCore::DrawingBuffer::DrawingBuffer):
2991         Record the extension support in the constructor.  Create all the
2992         secondary drawing buffers (for multisampling, depth/stencil).
2993         * platform/graphics/gpu/DrawingBuffer.cpp:
2994         (WebCore::DrawingBuffer::create):
2995         Check for the extensions before calling the DrawingBuffer constructor.
2996         (WebCore::DrawingBuffer::createSecondaryBuffers):
2997         Refactor creation of the secondary buffers from DrawingBufferMac.mm to
2998         here.
2999         (WebCore::DrawingBuffer::reset):
3000         Use DEPTH24_STENCIL8 format, not DEPTH_STENCIL.  Use
3001         DEPTH_COMPONENT16, not DEPTH_COMPONENT.
3002         Use GL_TEXTURE_2D, not GL_TEXTURE (for glFramebufferTexture2D).
3003         * platform/graphics/gpu/DrawingBuffer.h:
3004         Refactor createSecondaryBuffers().  Add extension support arguments to
3005         constructor.  Add support for packed_depth_stencil extension.
3006         * platform/graphics/gpu/mac/DrawingBufferMac.mm:
3007         (WebCore::DrawingBuffer::DrawingBuffer):
3008         Record extension support in constructor.  Refactor out creation of
3009         secondary buffers.
3010
3011 2011-01-12  Beth Dakin  <bdakin@apple.com>
3012
3013         Reviewed by Anders Carlsson.
3014
3015         Fix for https://bugs.webkit.org/show_bug.cgi?id=52309 Expose
3016         fixed layout through WebKit SPI
3017         -and corresponding-
3018         <rdar://problem/8844464>
3019
3020         Export symbols for ScrollView::setUseFixedLayout() and 
3021         ScrollView::setFixedLayoutSize()
3022         * WebCore.exp.in:
3023
3024 2011-01-12  Robert Hogan  <robert@webkit.org>
3025
3026         Reviewed by Kenneth Rohde Christiansen.
3027
3028         [Qt] Search input field doesn't have cancel button
3029
3030         Add a cancel button to the search field and make it customizable
3031         by the client. For now, use the close dialog button associated
3032         with the application's style as the default.
3033
3034         Unskip a bunch of search field related tests that pass now:
3035
3036         fast/forms/search-cancel-button-mouseup.html
3037         fast/forms/search-rtl.html
3038         fast/forms/search-abs-pos-cancel-button.html
3039         fast/forms/search-styled.html
3040         fast/forms/search-transformed.html
3041         fast/forms/search-zoomed.html
3042         fast/forms/search-cancel-button-style-sharing.html
3043         fast/forms/search-display-none-cancel-button.html
3044         fast/forms/search-placeholder-value-changed.html
3045         fast/repaint/search-field-cancel.html
3046         fast/forms/search-cancel-button-events.html
3047
3048         https://bugs.webkit.org/show_bug.cgi?id=42887
3049
3050         * platform/graphics/qt/ImageQt.cpp:
3051         (loadResourcePixmap):
3052         * platform/qt/RenderThemeQt.cpp:
3053         (WebCore::RenderThemeQt::isControlStyled):
3054         (WebCore::RenderThemeQt::computeSizeBasedOnStyle):
3055         (WebCore::RenderThemeQt::paintSearchField):
3056         (WebCore::RenderThemeQt::adjustSearchFieldStyle):
3057         (WebCore::RenderThemeQt::adjustSearchFieldCancelButtonStyle):
3058         (WebCore::RenderThemeQt::convertToPaintingRect):
3059         (WebCore::RenderThemeQt::paintSearchFieldCancelButton):
3060         * platform/qt/RenderThemeQt.h:
3061
3062 2011-01-12  Andrey Kosyakov  <caseq@chromium.org>
3063
3064         Reviewed by Pavel Feldman.
3065
3066         Web Inspector: cookie table is multiplied after repeated switching to cookies tab in network item view
3067         Only create cookiesTable is it hasn't been done yet.
3068         https://bugs.webkit.org/show_bug.cgi?id=52303
3069
3070         * inspector/front-end/ResourceCookiesView.js:
3071         (WebInspector.ResourceCookiesView.prototype.show):
3072
3073 2011-01-12  Koan-Sin Tan  <koansin.tan@gmail.com>
3074
3075         Reviewed by Martin Robinson.
3076
3077         [Gtk] WebKitGtk+ doesn't build on Mac OS X 10.6
3078         https://bugs.webkit.org/show_bug.cgi?id=50867
3079
3080         * config.h: Don't disallow ctype for (OS(DARWIN) && PLATFORM(GTK))
3081         Many GTK+ related files include <libintl.h> or <glib/gi18n-lib.h>.
3082         On Mac, <libintl.h> includes <xlocale.h>. <xclocale.h> includes 
3083         <xlocale/_ctype.h>, which uses isacii().
3084         * platform/UUID.cpp:
3085         (WebCore::createCanonicalUUIDString): For OS(DARWIN) && !PLATFORM(CF)
3086         use the Chromium Linux UUID generation.
3087
3088 2011-01-12  Simon Fraser  <simon.fraser@apple.com>
3089
3090         Reviewed by Eric Seidel.
3091
3092         [CSS Gradients] One color stop should not paint anything for linear-gradient
3093         https://bugs.webkit.org/show_bug.cgi?id=52259
3094         
3095         Share color stop parsing code between linear and radial gradients.
3096         Consider the gradient invalid if it has less than two color stops.
3097
3098         * css/CSSParser.cpp:
3099         (WebCore::CSSParser::parseLinearGradient):
3100         (WebCore::CSSParser::parseRadialGradient):
3101         (WebCore::CSSParser::parseGradientColorStops):
3102         * css/CSSParser.h:
3103
3104 2011-01-12  Mikhail Naganov  <mnaganov@chromium.org>
3105
3106         Reviewed by Pavel Feldman.
3107
3108         Fix inconsistencies in Inspector strings found by the new check-inspector-strings script.
3109
3110         https://bugs.webkit.org/show_bug.cgi?id=52295
3111
3112         * English.lproj/localizedStrings.js:
3113         * inspector/front-end/BreakpointsSidebarPane.js:
3114         (WebInspector.EventListenerBreakpointsSidebarPane):
3115         * inspector/front-end/ProfilesPanel.js:
3116         (WebInspector.ProfilesPanel.prototype.setRecordingProfile):
3117         * inspector/front-end/Resource.js:
3118         (WebInspector.Resource.Type.toString):
3119         * inspector/front-end/ResourcesPanel.js:
3120         (WebInspector.ResourceRevisionTreeElement):
3121         * inspector/front-end/utilities.js:
3122         ():
3123
3124 2011-01-12  Yury Semikhatsky  <yurys@chromium.org>
3125
3126         Unreviewed. Fix WML compilation on Mac.
3127
3128         * wml/WMLInputElement.cpp:
3129         (WebCore::WMLInputElement::setValue):
3130         (WebCore::WMLInputElement::setValueForUser):
3131         (WebCore::WMLInputElement::initialize):
3132         (WebCore::WMLInputElement::validateInputMask):
3133         * wml/WMLSelectElement.cpp:
3134         (WebCore::WMLSelectElement::listBoxSelectItem):
3135
3136 2011-01-12  Justin Schuh  <jschuh@chromium.org>
3137
3138         Unreviewed build fix for debug strict compiles.
3139
3140         Use fprintf for debug statements instead of fwrite, which caused compile failures
3141         in debug strict mode because of failure to check the fwrite return value.
3142
3143         No behavior changed.
3144
3145         * rendering/CounterNode.cpp:
3146         (WebCore::showTreeAndMark):
3147
3148 2010-12-29  Yury Semikhatsky  <yurys@chromium.org>
3149
3150         Reviewed by Pavel Feldman.
3151
3152         inspector/timeline-network-resource.html fails when run twice
3153         https://bugs.webkit.org/show_bug.cgi?id=37394
3154
3155         Send didReceiveResponse notification to the timeline agent from ResourceLoadNotifier
3156         instead of ResourceLoader::didReceiveResponse to cover the cases when resources
3157         are loaded from memory cache.
3158
3159         Network notifications are now sent to InspectorInstrumentation which dispatches
3160         them to interested agents and InspectorController.
3161
3162         * inspector/Inspector.idl:
3163         * inspector/InspectorApplicationCacheAgent.cpp:
3164         (WebCore::InspectorApplicationCacheAgent::didReceiveManifestResponse):
3165         * inspector/InspectorController.cpp:
3166         (WebCore::InspectorController::InspectorController):
3167         (WebCore::InspectorController::didCommitLoad):
3168         (WebCore::InspectorController::willSendRequest):
3169         (WebCore::InspectorController::didReceiveResponse):
3170         (WebCore::InspectorController::didFailLoading):
3171         (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
3172         * inspector/InspectorController.h:
3173         * inspector/InspectorInstrumentation.cpp:
3174         (WebCore::InspectorInstrumentation::identifierForInitialRequestImpl):
3175         (WebCore::InspectorInstrumentation::willSendRequestImpl):
3176         (WebCore::InspectorInstrumentation::markResourceAsCachedImpl):
3177         (WebCore::InspectorInstrumentation::didLoadResourceFromMemoryCacheImpl):
3178         (WebCore::InspectorInstrumentation::willReceiveResourceResponseImpl):
3179         (WebCore::InspectorInstrumentation::didReceiveContentLengthImpl):
3180         (WebCore::InspectorInstrumentation::didFinishLoadingImpl):
3181         (WebCore::InspectorInstrumentation::didFailLoadingImpl):
3182         (WebCore::InspectorInstrumentation::resourceRetrievedByXMLHttpRequestImpl):
3183         (WebCore::InspectorInstrumentation::scriptImportedImpl):
3184         (WebCore::InspectorInstrumentation::retrieveResourceAgent):
3185         * inspector/InspectorInstrumentation.h:
3186         (WebCore::InspectorInstrumentation::identifierForInitialRequest):
3187         (WebCore::InspectorInstrumentation::willSendRequest):
3188         (WebCore::InspectorInstrumentation::markResourceAsCached):
3189         (WebCore::InspectorInstrumentation::didLoadResourceFromMemoryCache):
3190         (WebCore::InspectorInstrumentation::willReceiveResourceResponse):
3191         (WebCore::InspectorInstrumentation::didReceiveContentLength):
3192         (WebCore::InspectorInstrumentation::didFinishLoading):
3193         (WebCore::InspectorInstrumentation::didFailLoading):
3194         (WebCore::InspectorInstrumentation::resourceRetrievedByXMLHttpRequest):
3195         (WebCore::InspectorInstrumentation::scriptImported):
3196         * inspector/InspectorResourceAgent.cpp:
3197         (WebCore::InspectorResourceAgent::identifierForInitialRequest):
3198         * inspector/InspectorResourceAgent.h:
3199         * inspector/InspectorTimelineAgent.cpp:
3200         (WebCore::InspectorTimelineAgent::willSendResourceRequest):
3201         * inspector/InspectorTimelineAgent.h:
3202         * inspector/TimelineRecordFactory.cpp:
3203         (WebCore::TimelineRecordFactory::createResourceSendRequestData):
3204         * inspector/TimelineRecordFactory.h:
3205         * inspector/front-end/NetworkManager.js:
3206         (WebInspector.NetworkManager.prototype.identifierForInitialRequest):
3207         * inspector/front-end/TimelinePanel.js:
3208         (WebInspector.TimelinePanel.prototype.addRecordToTimeline):
3209         * loader/FrameLoader.cpp:
3210         (WebCore::FrameLoader::loadedResourceFromMemoryCache):
3211         * loader/ResourceLoadNotifier.cpp:
3212         (WebCore::ResourceLoadNotifier::didReceiveResponse):
3213         (WebCore::ResourceLoadNotifier::didFailToLoad):
3214         (WebCore::ResourceLoadNotifier::assignIdentifierToInitialRequest):
3215         (WebCore::ResourceLoadNotifier::dispatchWillSendRequest):
3216         (WebCore::ResourceLoadNotifier::dispatchDidReceiveResponse):
3217         (WebCore::ResourceLoadNotifier::dispatchDidReceiveContentLength):
3218         (WebCore::ResourceLoadNotifier::dispatchDidFinishLoading):
3219         (WebCore::ResourceLoadNotifier::sendRemainingDelegateMessages):
3220         * loader/ResourceLoader.cpp:
3221         (WebCore::ResourceLoader::didReceiveResponse):
3222         * loader/appcache/ApplicationCacheGroup.cpp:
3223         (WebCore::ApplicationCacheGroup::createResourceHandle):
3224         (WebCore::ApplicationCacheGroup::didReceiveResponse):
3225         (WebCore::ApplicationCacheGroup::didReceiveData):
3226         (WebCore::ApplicationCacheGroup::didFinishLoading):
3227         (WebCore::ApplicationCacheGroup::didFail):
3228         * loader/appcache/ApplicationCacheGroup.h:
3229         * workers/DefaultSharedWorkerRepository.cpp:
3230         (WebCore::SharedWorkerScriptLoader::notifyFinished):
3231         * workers/Worker.cpp:
3232         (WebCore::Worker::notifyFinished):
3233         * workers/WorkerContext.cpp:
3234         (WebCore::WorkerContext::importScripts):
3235         * xml/XMLHttpRequest.cpp:
3236         (WebCore::XMLHttpRequest::didFinishLoading):
3237
3238 2011-01-12  Pavel Podivilov  <podivilov@chromium.org>
3239
3240         Reviewed by Pavel Feldman.
3241
3242         Web Inspector: do not replace all tabs with spaces when editing script source
3243         https://bugs.webkit.org/show_bug.cgi?id=52291
3244
3245         * inspector/front-end/SourceFrame.js:
3246         (WebInspector.SourceFrame.prototype.setContent):
3247         (WebInspector.SourceFrame.prototype._editLine):
3248
3249 2011-01-11  Jeremy Orlow  <jorlow@chromium.org>
3250
3251         Reviewed by Nate Chapin.
3252
3253         Enforce READ_ONLY transactions in IndexedDB
3254         https://bugs.webkit.org/show_bug.cgi?id=52229
3255
3256         Add READ_ONLY_ERR and return it whenever delete or put
3257         are called.  Note that IDBCursor's delete and update
3258         are simply aliases for delete/put, which is why no
3259         extra code is required to handle those cases.
3260
3261         Test: storage/indexeddb/transaction-read-only.html
3262
3263         * dom/ExceptionCode.cpp:
3264         * storage/IDBCursorBackendImpl.cpp:
3265         (WebCore::IDBCursorBackendImpl::deleteFunction):
3266         * storage/IDBDatabase.idl:
3267         * storage/IDBDatabaseException.h:
3268         * storage/IDBDatabaseException.idl:
3269         * storage/IDBObjectStoreBackendImpl.cpp:
3270         (WebCore::IDBObjectStoreBackendImpl::put):
3271         (WebCore::IDBObjectStoreBackendImpl::deleteFunction):
3272         (WebCore::IDBObjectStoreBackendImpl::deleteIndex):
3273
3274 2011-01-11  Philippe Normand  <pnormand@igalia.com>
3275
3276         Reviewed by Eric Seidel.
3277
3278         [GTK] minimal build breaks in RenderThemeGtk3
3279         https://bugs.webkit.org/show_bug.cgi?id=52202
3280
3281         * platform/gtk/RenderThemeGtk3.cpp: Added VIDEO guards around
3282         initMediaColors().
3283
3284 2011-01-11  Philippe Normand  <pnormand@igalia.com>
3285
3286         Reviewed by Eric Carlson.
3287
3288         [GStreamer] PlatformVideoWindowMac implementation
3289         https://bugs.webkit.org/show_bug.cgi?id=50770
3290
3291         This new implementation will be used on Mac OS to display the
3292         fullscreen video window with the GStreamer-based media player.
3293
3294         * platform/graphics/gstreamer/GStreamerGWorld.cpp:
3295         (WebCore::gstGWorldSyncMessageCallback):
3296         * platform/graphics/gstreamer/PlatformVideoWindow.h:
3297         (WebCore::PlatformVideoWindow::window):
3298         * platform/graphics/gstreamer/PlatformVideoWindowMac.mm:
3299         (PlatformVideoWindow::PlatformVideoWindow):
3300         (PlatformVideoWindow::~PlatformVideoWindow):
3301         (PlatformVideoWindow::prepareForOverlay):
3302
3303 2011-01-11  Simon Fraser  <simon.fraser@apple.com>
3304
3305         Reviewed by Dan Bernstein.
3306
3307         Webkit crashes when a gradient is applied using the first-line pseudo element
3308         https://bugs.webkit.org/show_bug.cgi?id=52225
3309         
3310         When a pseudostyle references images, we fail to register/unregister
3311         the relevant RenderObjects as clients of the image in the style.
3312         For gradients, this caused a crash.
3313         
3314         This patch fixes the crash by returning a null gradient image in this
3315         situation.
3316
3317         Test: fast/gradients/gradient-on-pseudoelement-crash.html
3318
3319         * css/CSSGradientValue.cpp:
3320         (WebCore::CSSGradientValue::image):
3321
3322 2011-01-11  Andy Estes  <aestes@apple.com>
3323
3324         Reviewed by Darin Adler.
3325
3326         REGRESSION (r71562): servePendingRequests() no longer called when
3327         resources are done loading.
3328         https://bugs.webkit.org/show_bug.cgi?id=52264
3329         <rdar://problem/8767429>
3330         
3331         In r71562, servePendingRequests() is no longer called in Loader's
3332         didFinishLoading(), didFail() and didReceiveResponse() methods. Since
3333         r71562 was intended only as a refactoring, these calls should be
3334         restored. At least one WebKit-based Mac OS X application relies on this
3335         for correct behavior.
3336
3337         * loader/cache/CachedResourceLoader.cpp:
3338         (WebCore::CachedResourceLoader::loadDone): Call
3339         resourceLoadScheduler()->servePendingRequests().
3340
3341 2011-01-11  Patrick Gansterer  <paroga@webkit.org>
3342
3343         Reviewed by Eric Seidel.
3344
3345         Add Document::setContent()
3346         https://bugs.webkit.org/show_bug.cgi?id=52085
3347
3348         Add a method to Document to set the whole content at once.
3349         This removes the hack of the insert method in the xml parser
3350         and is a predecessor to feed the xml parser with raw data.
3351
3352         * dom/Document.cpp:
3353         (WebCore::Document::setContent):
3354         * dom/Document.h:
3355         * dom/XMLDocumentParser.cpp:
3356         (WebCore::XMLDocumentParser::insert): Added ASSERT_NOT_REACHED().
3357         * loader/cache/CachedFont.cpp:
3358         (WebCore::CachedFont::ensureSVGFontData): Use setContent.
3359         * xml/DOMParser.cpp:
3360         (WebCore::DOMParser::parseFromString): Ditto.
3361         * xml/XMLHttpRequest.cpp:
3362         (WebCore::XMLHttpRequest::responseXML): Ditto.
3363         * xml/XSLTProcessor.cpp:
3364         (WebCore::XSLTProcessor::createDocumentFromSource): Ditto.
3365
3366 2011-01-11  Brent Fulgham  <bfulgham@webkit.org>
3367
3368         Unreviewed build fix.
3369
3370         * platform/graphics/cairo/PathCairo.cpp:
3371         (WebCore::Path::addArc): Switch to MathExtra's piFloat define,
3372         rather than M_PI which is not always available.
3373
3374 2011-01-11  Nicolas Dufresne  <nicolas.dufresne@collabora.co.uk>
3375
3376         Reviewed by Adam Barth.
3377
3378         Use plug-in DB for extensions to MIME type convertion
3379
3380         Plugins extension to MIME type conversion was not used in the
3381         frameLoader. This was causing some fallback to be use which as the side
3382         effect of loosing all the <OBJECT> parameters or <EMBED> attributes.
3383         This patch ensure that we try to convert the extension to MIME type
3384         using the plugin database beofre using this fallback.
3385
3386         Attribute lost with Flash plugin without mime type set
3387         https://bugs.webkit.org/show_bug.cgi?id=50657
3388
3389         Test: plugins/no-mime-with-valid-extension.html
3390
3391         * loader/FrameLoader.cpp:
3392         (WebCore::FrameLoader::defaultObjectContentType): Use PluginDatabase for MIME
3393
3394 2011-01-11  James Simonsen  <simonjam@chromium.org>
3395
3396         Reviewed by Eric Seidel.
3397
3398         [Web Timing] Rename sslHandshakeStart to secureConnectionStart
3399         https://bugs.webkit.org/show_bug.cgi?id=52239
3400
3401         * page/PerformanceTiming.cpp:
3402         (WebCore::PerformanceTiming::secureConnectionStart):
3403         * page/PerformanceTiming.h:
3404         * page/PerformanceTiming.idl:
3405
3406 2011-01-11  Adam Barth  <abarth@webkit.org>
3407
3408         Reviewed by Eric Seidel.
3409
3410         Introduce the notion of a "display-isolated" URL scheme for use by
3411         Chrome-internal URLs
3412         https://bugs.webkit.org/show_bug.cgi?id=50182
3413
3414         This patch actually makes the display-isolated schemes display
3415         isolated.  The behavior should be the same as the previous iteration of
3416         this patch, but re-organized a bit because reading the access white
3417         list is expensive.
3418
3419         * page/SecurityOrigin.cpp:
3420         (WebCore::SecurityOrigin::isAccessToURLWhiteListed):
3421         (WebCore::SecurityOrigin::canDisplay):
3422         * page/SecurityOrigin.h:
3423         * platform/SchemeRegistry.cpp:
3424         * platform/SchemeRegistry.h:
3425
3426 2011-01-11  Mihai Parparita  <mihaip@chromium.org>
3427
3428         Reviewed by Darin Fisher.
3429
3430         Scroll event should be fired asynchronously
3431         https://bugs.webkit.org/show_bug.cgi?id=45631
3432
3433         Tests: fast/events/fire-scroll-event.html
3434                fast/events/fire-scroll-event-element.html
3435                fast/events/scroll-event-phase.html
3436
3437         Makes scroll events fire asynchronously to be in compliance with the
3438         CSSOM View Module and consistent with Gecko, Opera and (to some degree)
3439         IE.
3440         
3441         Implemented via the EventQueue class added by r74062 (EventQueue now
3442         has a convenience enqueueScrollEvent method).
3443
3444         * dom/EventQueue.cpp:
3445         (WebCore::EventQueue::enqueueScrollEvent):
3446         (WebCore::EventQueue::pendingEventTimerFired):
3447         * dom/EventQueue.h:
3448         * page/EventHandler.cpp:
3449         (WebCore::EventHandler::sendScrollEvent):
3450         * rendering/RenderLayer.cpp:
3451         (WebCore::RenderLayer::scrollToOffset):
3452         * rendering/RenderListBox.cpp:
3453         (WebCore::RenderListBox::valueChanged):
3454
3455 2011-01-11  Patrick Gansterer  <paroga@webkit.org>
3456
3457         Unreviewed WinCE build fix for r75523.
3458
3459         * platform/wince/DragDataWinCE.cpp: Added missing include.
3460
3461 2011-01-11  Abhishek Arya  <inferno@chromium.org>
3462
3463         Reviewed by Dimitri Glazkov.
3464
3465         RefPtr the FrameView to prevent scrollbar from getting deleted inside
3466         its scroll event.
3467         https://bugs.webkit.org/show_bug.cgi?id=52238
3468
3469         Test: scrollbars/scrollable-iframe-remove-crash.html
3470
3471         * page/DOMWindow.cpp:
3472         (WebCore::DOMWindow::scrollTo):
3473
3474 2011-01-08  Dimitri Glazkov  <dglazkov@chromium.org>
3475
3476         Reviewed by David Hyatt.
3477
3478         Make pseudo-style resolution less hard-coded when used to select a shadow node
3479         https://bugs.webkit.org/show_bug.cgi?id=46595
3480
3481         Essentially implements the plumbing for the XBL2 pseudo attribute:
3482         http://dev.w3.org/2006/xbl2/#the-pseudo-attribute
3483
3484         Test: fast/css/unknown-pseudo-element-matching.html
3485
3486         * css/CSSGrammar.y: Changed to handle specifier_list structure with the
3487             CSSParser::updateSpecifierWithElementName helper, added logic to
3488             keep unknown pseudo-element selectors at the top of the selector chain,
3489             so that we can easily check for them and grab them, and also because
3490             they would either not match anything or act as a descendant selector
3491             (descendant into a shadow DOM subtree that is), not a specifier.
3492         * css/CSSParser.cpp:
3493         (WebCore::CSSParser::updateSpecifiersWithElementName): Generalized/combined
3494             the logic adding element name to selectors and added the special case
3495             to handle unknown pseudo-element selectors.
3496         * css/CSSParser.h: Added def.
3497         * css/CSSSelector.cpp:
3498         (WebCore::CSSSelector::pseudoId): Removed any mention of PseudoSliderThumb/SLIDER_THUMB.
3499         (WebCore::nameToPseudoTypeMap): Ditto.
3500         (WebCore::CSSSelector::extractPseudoType): Ditto.
3501         * css/CSSSelector.h: Added a new ShadowDescendant relation type,
3502             removed PseudoSliderThumb def.
3503         (WebCore::CSSSelector::isUnknownPseudoElement): Added a helper method.
3504         * css/CSSSelectorList.cpp:
3505         (WebCore::SelectorHasUnknownPseudoElementFunctor::operator()): Added a functor
3506             to check for an unknown pseudo-element in the list.
3507         (WebCore::CSSSelectorList::hasUnknownPseudoElements): Added.
3508         * css/CSSSelectorList.h: Added a def.
3509         * css/CSSStyleSelector.cpp:
3510         (WebCore::CSSRuleSet::getPseudoRules): Added accessor to pseudo-element hash.
3511         (WebCore::CSSStyleSelector::matchRules): Added matching pseudo elements.
3512         (WebCore::CSSStyleSelector::SelectorChecker::checkSelector): Added handling
3513             of ShadowDescendant relation.
3514         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): Enabled handling
3515             of unknown pseudo-element selectors.
3516         (WebCore::CSSRuleSet::addRule): Added populating unknown pseudo-element hash.
3517         * css/html.css:
3518         (input[type="range"]::-webkit-slider-thumb): Added previously-hard-coded
3519             display:block.
3520         * dom/Element.h:
3521         (WebCore::Element::shadowPseudoId): Added new virtual method to allow
3522             elements to provide the value of pseudo-element selector they would match.
3523         * dom/Node.cpp:
3524         (WebCore::Node::querySelector): Added checking for unknown pseudo-element selectors,
3525             so that we can throw a SYNTAX_ERR if found.
3526         (WebCore::Node::querySelectorAll): Ditto.
3527         * html/shadow/SliderThumbElement.h:
3528         (WebCore::SliderThumbElement::shadowPseudoId): Added to return "-webkit-slider-thumb";
3529         * rendering/RenderSlider.cpp:
3530         (WebCore::RenderSlider::createThumbStyle): Changed to use the new styleForElement logic.
3531         * rendering/style/RenderStyleConstants.h: Removed SLIDER_THUMB.
3532
3533 2011-01-11  Dean Jackson  <dino@apple.com>
3534
3535         Reviewed by Simon Fraser.
3536
3537         https://bugs.webkit.org/show_bug.cgi?id=52233
3538
3539         WebKitCSSMatrix constructor should accept 'none'
3540         as a valid string parameter.
3541
3542         * css/WebKitCSSMatrix.cpp:
3543         (WebCore::WebKitCSSMatrix::setMatrixValue):
3544
3545 2011-01-11  James Robinson  <jamesr@chromium.org>
3546
3547         Reviewed by Dimitri Glazkov.
3548
3549         Set all RenderBlocks as replaced when an inline display type is specified
3550         https://bugs.webkit.org/show_bug.cgi?id=50858
3551
3552         When a RenderBlock is created for an element with a specified display:inline style,
3553         it should always be treated as inline-block.  This situations often comes up for form
3554         controls.  Previously, RenderBlock::styleWillChange set the replaced flag for display
3555         values of inline-block, inline-table, and inline-table and a number of subclasses of
3556         RenderBlock set the replaced flag in styleDidChange for a display:inline.  However
3557         sometimes new subclasses would miss this step leading to bugs (such as with RenderDetails).
3558         This patch sets the replaced flag for all inline display types in RenderBlock::styleWillChange.
3559
3560         Code cleanup only, no change in behavior so no new tests.
3561
3562         * rendering/RenderBlock.cpp:
3563         (WebCore::RenderBlock::styleWillChange):
3564         * rendering/RenderButton.cpp:
3565         (WebCore::RenderButton::styleDidChange):
3566         * rendering/RenderFieldset.cpp:
3567         * rendering/RenderFieldset.h:
3568         * rendering/RenderFileUploadControl.cpp:
3569         (WebCore::RenderFileUploadControl::styleDidChange):
3570         * rendering/RenderListBox.cpp:
3571         * rendering/RenderListBox.h:
3572         * rendering/RenderMenuList.cpp:
3573         (WebCore::RenderMenuList::styleDidChange):
3574         * rendering/RenderSlider.cpp:
3575         (WebCore::RenderSlider::styleDidChange):
3576         * rendering/RenderTextControl.cpp:
3577         (WebCore::RenderTextControl::styleDidChange):
3578
3579 2011-01-11  Dimitri Glazkov  <dglazkov@chromium.org>
3580
3581         Reviewed by Eric Seidel.
3582
3583         REGRESSION(r71934) Can't type in search edit field on skin-one.com
3584         https://bugs.webkit.org/show_bug.cgi?id=52195
3585
3586         Restored the original behavior, where the selectstart event is not
3587         dispatched when selection changes inside of the shadow DOM.
3588
3589         * dom/Node.cpp:
3590         (WebCore::determineDispatchBehavior): Moved EventDispatchBehavior-determining
3591             logic into a helper function, also added a check to keep selectstart
3592                 events inside of the shadow DOM.
3593         (WebCore::Node::dispatchGenericEvent): Changed to use the helper function.
3594
3595 2011-01-11  Viatcheslav Ostapenko  <ostapenko.viatcheslav@nokia.com>
3596
3597         Reviewed by Eric Seidel.
3598
3599         [Qt] Provide plugin coordinates to windowless plugins on Symbian.
3600         https://bugs.webkit.org/show_bug.cgi?id=52213
3601
3602         * plugins/symbian/PluginViewSymbian.cpp:
3603         (WebCore::PluginView::setNPWindowIfNeeded):
3604
3605 2011-01-10  Zhenyao Mo  <zmo@google.com>
3606
3607         Reviewed by Kenneth Russell.
3608
3609         Need to consider UNPACK_ALIGNMENT in GraphicsContext3D::texImage2DResourceSafe
3610         https://bugs.webkit.org/show_bug.cgi?id=52068
3611
3612         * html/canvas/WebGLRenderingContext.cpp:
3613         (WebCore::WebGLRenderingContext::copyTexImage2D): Use computeImageSizeInBytes.
3614         (WebCore::WebGLRenderingContext::copyTexSubImage2D): Ditto.
3615         (WebCore::WebGLRenderingContext::readPixels): Ditto, and fix a bug on generating the wrong error.
3616         (WebCore::WebGLRenderingContext::texImage2DBase): Ditto.
3617         (WebCore::WebGLRenderingContext::validateTexFuncData): Use computeImageSizeInBytes.
3618         * platform/graphics/GraphicsContext3D.cpp:
3619         (WebCore::GraphicsContext3D::texImage2DResourceSafe): Add a new parameter alignment.
3620         (WebCore::GraphicsContext3D::computeFormatAndTypeParameters): Add more supported format/type.
3621         (WebCore::GraphicsContext3D::computeImageSizeInBytes): Added.
3622         * platform/graphics/GraphicsContext3D.h:
3623
3624 2011-01-10  Enrica Casucci  <enrica@apple.com>
3625
3626         Reviewed by Alexey Proskuryakov.
3627
3628         Paste and drag and drop use different code paths to interact with the pasteboard.
3629         https://bugs.webkit.org/show_bug.cgi?id=52093
3630         The change consists in a refactoring of the code to have only one class that
3631         deals with the pasteboard on Mac.
3632
3633         No new tests. A test is already available for this
3634         (editing/pasteboard/drag-image-to-contenteditable-in-iframe.html) but had incorrect results.
3635
3636         * WebCore.exp.in:
3637         * loader/EmptyClients.h: Added two Mac only methods to call into WebKit to use functionality
3638         that is in NSURLExtras.
3639         (WebCore::EmptyEditorClient::canonicalizeURL):
3640         (WebCore::EmptyEditorClient::canonicalizeURLString):
3641         * page/DragController.cpp:
3642         The following methods have been changed to pass a pointer to the Frame object
3643         to the DragData class.
3644         (WebCore::documentFragmentFromDragData):
3645         (WebCore::DragController::performDrag):
3646         (WebCore::DragController::dispatchTextInputEventFor):
3647         (WebCore::DragController::concludeEditDrag):
3648         * page/EditorClient.h: Added two Mac only methods to call into WebKit to use functionality
3649         that is in NSURLExtras.
3650         The following files have been modified to pass the Frame object to the DragData method calls.
3651         * page/chromium/DragControllerChromium.cpp:
3652         (WebCore::DragController::dragOperation):
3653         * page/gtk/DragControllerGtk.cpp:
3654         (WebCore::DragController::dragOperation):
3655         * page/mac/DragControllerMac.mm:
3656         (WebCore::DragController::dragOperation):
3657         * page/qt/DragControllerQt.cpp:
3658         (WebCore::DragController::dragOperation):
3659         * page/win/DragControllerWin.cpp:
3660         (WebCore::DragController::dragOperation):
3661         * platform/DragData.h: Removed Mac specific constructor and reference to PasteboardHelper class.
3662         * platform/Pasteboard.h: Added public constructor to create a Pasteboard object from an NSPasteboard.
3663         The following files were all modified to match the new parameters of the methods listed.
3664         * platform/android/DragDataAndroid.cpp:
3665         (WebCore::DragData::asPlainText):
3666         (WebCore::DragData::containsURL):
3667         (WebCore::DragData::asURL):
3668         (WebCore::DragData::asFragment):
3669         * platform/chromium/DragDataChromium.cpp:
3670         (WebCore::DragData::containsURL):
3671         (WebCore::DragData::asURL):
3672         (WebCore::DragData::asPlainText):
3673         (WebCore::DragData::containsCompatibleContent):
3674         (WebCore::DragData::asFragment):
3675         * platform/gtk/DragDataGtk.cpp:
3676         (WebCore::DragData::asPlainText):
3677         (WebCore::DragData::containsCompatibleContent):
3678         (WebCore::DragData::containsURL):
3679         (WebCore::DragData::asURL):
3680         (WebCore::DragData::asFragment):
3681         * platform/haiku/DragDataHaiku.cpp:
3682         (WebCore::DragData::asPlainText):
3683         (WebCore::DragData::containsURL):
3684         (WebCore::DragData::asURL):
3685         (WebCore::DragData::asFragment):
3686         * platform/mac/DragDataMac.mm:
3687         (WebCore::DragData::DragData):
3688         (WebCore::DragData::asPlainText):
3689         (WebCore::insertablePasteboardTypes):
3690         (WebCore::DragData::containsCompatibleContent):
3691         (WebCore::DragData::containsURL):
3692         (WebCore::DragData::asURL):
3693         (WebCore::DragData::asFragment):
3694         * platform/mac/PasteboardMac.mm:
3695         (WebCore::Pasteboard::getBestURL):
3696         (WebCore::Pasteboard::asURL):
3697         * platform/qt/DragDataQt.cpp:
3698         (WebCore::DragData::asPlainText):
3699         (WebCore::DragData::containsCompatibleContent):
3700         (WebCore::DragData::containsURL):
3701         (WebCore::DragData::asURL):
3702         (WebCore::DragData::asFragment):
3703         * platform/win/DragDataWin.cpp:
3704         (WebCore::DragData::containsURL):
3705         (WebCore::DragData::asURL):
3706         (WebCore::DragData::asPlainText):
3707         (WebCore::DragData::containsCompatibleContent):
3708         (WebCore::DragData::asFragment):
3709         * platform/wince/DragDataWinCE.cpp:
3710         (WebCore::DragData::containsURL):
3711         (WebCore::DragData::asURL):
3712         (WebCore::DragData::asPlainText):
3713         (WebCore::DragData::asFragment):
3714         * platform/wx/DragDataWx.cpp:
3715         (WebCore::DragData::asPlainText):
3716         (WebCore::DragData::containsURL):
3717         (WebCore::DragData::asURL):
3718         (WebCore::DragData::asFragment):
3719
3720 2011-01-11  Abhishek Arya  <inferno@chromium.org>
3721
3722         Reviewed by Dimitri Glazkov.
3723
3724         RefPtr text node in setOuterText since calling appendData
3725         on a text node can fire away dom event listener which might
3726         remove the text node from underneath.
3727         https://bugs.webkit.org/show_bug.cgi?id=52163
3728
3729         Test: fast/dom/text-node-append-data-remove-crash.html
3730
3731         * html/HTMLElement.cpp:
3732         (WebCore::HTMLElement::setOuterText):
3733
3734 2011-01-11  Carlos Garcia Campos  <cgarcia@igalia.com>
3735
3736         Reviewed by Martin Robinson.
3737
3738         [GTK] Add support for <meter> element
3739         https://bugs.webkit.org/show_bug.cgi?id=48713
3740
3741         * GNUmakefile.am: Enable meter element.
3742
3743 2011-01-11  Csaba Osztrogonác  <ossy@webkit.org>
3744
3745         Unreviewed buildfix.
3746
3747         [Qt][V8] Add missing include for debug build.
3748
3749         * loader/cache/CachedResourceLoader.cpp:
3750
3751 2011-01-11  Pavel Feldman  <pfeldman@chromium.org>
3752
3753         Reviewed by Yury Semikhatsky.
3754
3755         Web Inspector: redirects are lost from the network panel upon navigation.
3756         https://bugs.webkit.org/show_bug.cgi?id=52210
3757
3758         * inspector/front-end/NetworkManager.js:
3759         (WebInspector.NetworkManager.prototype.didCommitLoadForFrame):
3760
3761 2011-01-11  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
3762
3763         Reviewed by Kenneth Rohde Christiansen.
3764
3765         [Qt] Remove uses of QFuture since it isn't supported on all platforms.
3766         https://bugs.webkit.org/show_bug.cgi?id=51204
3767
3768         * platform/network/qt/QtNAMThreadSafeProxy.cpp:
3769         (WebCore::QtNAMThreadSafeProxy::QtNAMThreadSafeProxy):
3770         (WebCore::QtNAMThreadSafeProxy::localCookiesForUrl):
3771         (WebCore::QtNAMThreadSafeProxy::localWillLoadFromCache):
3772         * platform/network/qt/QtNAMThreadSafeProxy.h:
3773         (WebCore::QtNAMThreadSafeProxy::cookiesForUrl):
3774         (WebCore::QtNAMThreadSafeProxy::willLoadFromCache):
3775
3776 2011-01-11  Pavel Podivilov  <podivilov@chromium.org>
3777
3778         Reviewed by Pavel Feldman.
3779
3780         Web Inspector: recreate script view after live edit.
3781         https://bugs.webkit.org/show_bug.cgi?id=51751
3782
3783         * inspector/front-end/Script.js:
3784         (WebInspector.Script.prototype.set source):
3785         * inspector/front-end/ScriptView.js:
3786         (WebInspector.ScriptView):
3787         * inspector/front-end/ScriptsPanel.js:
3788         (WebInspector.ScriptsPanel.prototype.editScriptSource.mycallback):
3789         (WebInspector.ScriptsPanel.prototype.editScriptSource):
3790         (WebInspector.ScriptsPanel.prototype.viewRecreated):
3791         * inspector/front-end/SourceFrame.js:
3792         (WebInspector.SourceFrame.prototype._doEditLine):
3793
3794 2011-01-11  Pavel Podivilov  <podivilov@chromium.org>
3795
3796         Reviewed by Pavel Feldman.
3797
3798         Web Inspector: frameDetachedFromParent notification handler is missing in NetworkManager.
3799         https://bugs.webkit.org/show_bug.cgi?id=52205
3800
3801         * inspector/front-end/NetworkManager.js:
3802         (WebInspector.NetworkManager.prototype.frameDetachedFromParent):
3803
3804 2011-01-11  Alexander Pavlov  <apavlov@chromium.org>
3805
3806         Reviewed by Pavel Feldman.
3807
3808         Web Inspector: "Audit present state" always disabled
3809         https://bugs.webkit.org/show_bug.cgi?id=52199
3810
3811         Removed all traces of resource tracking checks, as we have it no more.
3812
3813         * English.lproj/localizedStrings.js:
3814         * inspector/front-end/AuditLauncherView.js:
3815         (WebInspector.AuditLauncherView.prototype._createLauncherUI):
3816         * inspector/front-end/AuditsPanel.js:
3817
3818 2011-01-11  Pavel Podivilov  <podivilov@chromium.org>
3819
3820         Reviewed by Pavel Feldman.
3821
3822         Web Inspector: move delayed search implementation to SourceFrame.
3823         https://bugs.webkit.org/show_bug.cgi?id=51753
3824
3825         * inspector/front-end/SourceFrame.js:
3826         (WebInspector.SourceFrame.prototype._createViewerIfNeeded):
3827         (WebInspector.SourceFrame.prototype.findSearchMatches):
3828         (WebInspector.SourceFrame.prototype.cancelFindSearchMatches):
3829         * inspector/front-end/SourceView.js:
3830         (WebInspector.SourceView.prototype.hide):
3831         (WebInspector.SourceView.prototype.searchCanceled):
3832         (WebInspector.SourceView.prototype.performSearch.didFindSearchMatches):
3833         (WebInspector.SourceView.prototype.performSearch):
3834
3835 2011-01-11  Ilya Tikhonovsky  <loislo@chromium.org>
3836
3837         Reviewed by Pavel Feldman.
3838
3839         Web Inspector: innerFirstChild has a side effect which should be called explicitly.
3840
3841         If a node is a frame's owner then innerFirstChild method
3842         subscribes DOMAgent instance to the frame's doc's events.
3843         I think this should be done explicitly when we meet with
3844         the node for the first time. As I understand it happens
3845         in buildArrayForContainerChildren method.
3846
3847         https://bugs.webkit.org/show_bug.cgi?id=52204
3848
3849         * inspector/InspectorDOMAgent.cpp:
3850         (WebCore::InspectorDOMAgent::startListeningFrameDoc):
3851         (WebCore::InspectorDOMAgent::buildArrayForContainerChildren):
3852         (WebCore::InspectorDOMAgent::innerFirstChild):
3853         * inspector/InspectorDOMAgent.h:
3854
3855 2011-01-11  Adam Roben  <aroben@apple.com>
3856
3857         Delete WKCACFLayer.{cpp,h}
3858
3859         These have been unused since r75262
3860
3861         * platform/graphics/win/WKCACFLayer.cpp: Removed.
3862         * platform/graphics/win/WKCACFLayer.h: Removed.
3863
3864 2011-01-11  Pavel Feldman  <pfeldman@chromium.org>
3865
3866         Reviewed by Yury Semikhatsky.
3867
3868         Web Inspector: [regression] Cookies view does not allow columns resize.
3869         https://bugs.webkit.org/show_bug.cgi?id=51877
3870
3871         * inspector/front-end/CookieItemsView.js:
3872         (WebInspector.CookieItemsView.prototype._updateWithCookies):
3873
3874 2011-01-11  Noel Gordon  <noel.gordon@gmail.com>
3875
3876          Reviewed by James Robinson.
3877
3878          [chromium] canvas.toDataURL("image/jpeg") should composite onto black.
3879          https://bugs.webkit.org/show_bug.cgi?id=51237
3880
3881          The Canvas specification requires that the canvas image is composited using
3882          the Porter-Duff operator source-over onto a black background; the resultant
3883          image should be JPEG encoded and returned as a dataURL.  To composite image
3884          A and background B, for any Porter-Duff operator, produce pixels I with
3885
3886             I = c(A)F(A) + c(B)F(B)
3887
3888          where, F(X) is the fraction [0.0-1.0] contributed to the composite by image
3889          X, and c(X) are the premultiplied RGB color components of image X.  Note by
3890          definition, c(B) = 0 since the background is black, so I = c(A)F(A).  Since
3891          F(A) = 1 in Porter-Duff operator source-over, the composited pixels satisfy
3892          I = c(A).  Hence, to conform to the Canvas spec, pass the premultiplied RGB
3893          color components of the canvas image to the JPEG encoder.
3894
3895          Covered by canvas/philip/tests/toDataURL.jpeg.alpha.html
3896
3897          * platform/image-encoders/skia/JPEGImageEncoder.cpp:
3898          (WebCore::preMultipliedBGRAtoRGB): Use Porter-Duff source-over black.
3899
3900 2011-01-11  Pavel Feldman  <pfeldman@chromium.org>
3901
3902         Reviewed by Yury Semikhatsky.
3903
3904         Chromium DevTools: get rid of APU-related code in WebKit/chromium.
3905         https://bugs.webkit.org/show_bug.cgi?id=52152
3906
3907         * inspector/InspectorController.cpp:
3908         (WebCore::InspectorController::restoreInspectorStateFromCookie):
3909         (WebCore::InspectorController::setInjectedScriptSource):
3910         * inspector/InspectorState.cpp:
3911         (WebCore::InspectorState::InspectorState):
3912         * inspector/InspectorState.h:
3913         * inspector/front-end/inspector.js:
3914
3915 2011-01-11  Pavel Feldman  <pfeldman@chromium.org>
3916
3917         Reviewed by Yury Semikhatsky.
3918
3919         Web Inspector: [REGRESSION] Load timing is requested
3920         for all resources (not only for the main one).
3921         https://bugs.webkit.org/show_bug.cgi?id=51749
3922
3923         * inspector/InspectorController.cpp:
3924         (WebCore::InspectorController::willSendRequest):
3925         * loader/ResourceLoadNotifier.cpp:
3926         (WebCore::ResourceLoadNotifier::dispatchWillSendRequest):
3927
3928 2011-01-11  Carlos Garcia Campos  <cgarcia@igalia.com>
3929
3930         Reviewed by Martin Robinson.
3931
3932         [GTK] GRefPtr should not be used with Gtk widgets
3933         https://bugs.webkit.org/show_bug.cgi?id=51241
3934
3935         GRefPtr breaks the widget life-cycle, the main problem is
3936         that GRefPtr calls g_object_unref() when it's destroyed,
3937         which is undesirable for widgets. In gtk+ widgets are created with
3938         a floating reference and when added to a container, the container
3939         takes the ownership of the widget consuming the floating
3940         reference. So you don't usually need to call g_object_ref/unref on
3941         widgets (only for some operations like reparent a widget) and
3942         toplevel widgets are destroyed with gtk_widget_destroy().
3943
3944         * platform/ContextMenuItem.h:
3945         * platform/gtk/ContextMenuGtk.cpp:
3946         (WebCore::ContextMenu::ContextMenu):
3947         (WebCore::ContextMenu::~ContextMenu):
3948         (WebCore::ContextMenu::setPlatformDescription):
3949         * platform/gtk/ContextMenuItemGtk.cpp:
3950         (WebCore::ContextMenuItem::ContextMenuItem):
3951         (WebCore::ContextMenuItem::releasePlatformDescription):
3952         (WebCore::ContextMenuItem::type):
3953         (WebCore::ContextMenuItem::action):
3954         (WebCore::ContextMenuItem::setAction):
3955         (WebCore::ContextMenuItem::title):
3956         (WebCore::ContextMenuItem::setTitle):
3957         (WebCore::ContextMenuItem::platformSubMenu):
3958         (WebCore::ContextMenuItem::setSubMenu):
3959         (WebCore::ContextMenuItem::setChecked):
3960         (WebCore::ContextMenuItem::setEnabled):
3961
3962 2010-10-10  David Hyatt  <hyatt@apple.com>
3963
3964         Reviewed by Simon Fraser.
3965
3966         https://bugs.webkit.org/show_bug.cgi?id=51119, transformed 
3967         elements not responding properly to :hover after r73385.  
3968         Just use the entire document area as the hit test area, 
3969         since there appears to be a rounding bug/issues with relying 
3970         on float math when mapping the hit test area into
3971         transformed coordinates.
3972
3973         * rendering/RenderLayer.cpp:
3974         (WebCore::RenderLayer::hitTest):
3975
3976 2011-01-10  Stephen White  <senorblanco@chromium.org>
3977
3978         Reviewed by James Robinson.
3979
3980         Fix canvas->canvas draws on the GPU path.
3981         https://bugs.webkit.org/show_bug.cgi?id=52141
3982         
3983         Two problems:  according to the canvas spec, both source and
3984         destination rects can have negative width or height, but this shouldn't
3985         cause the image to be flipped.  So we need to normalize the rects (in
3986         the software path, this is done by BitmapImage*::draw).  Secondly, in
3987         the FBO->FBO path, the image needs to be flipped vertically, since it
3988         is drawn upside down.  We were doing this by flipping the destination
3989         rect, but this doesn't work if the source rect is not the entire image,
3990         since we extract the wrong part of the image.  Fixed by flipping the
3991         source rect instead (and flipping it within the image buffer's height,
3992         not the source rect's height).
3993
3994         Covered by fast/canvas/drawImage-with-negative-source-destination.html.
3995
3996
3997         * platform/graphics/skia/BitmapImageSingleFrameSkia.h:
3998         Put normalizeRect() in global scope.
3999         * platform/graphics/skia/ImageBufferSkia.cpp:
4000         (WebCore::ImageBuffer::draw):
4001         Fix as above:  normalize both source and dest rects, and flip the
4002         source rect instead of the dest rect.
4003         * platform/graphics/skia/ImageSkia.cpp:
4004         (WebCore::normalizeRect):
4005         Put normalizeRect() in global scope.
4006
4007 2011-01-10  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
4008
4009         Reviewed by Csaba Osztrogonác.
4010
4011         [Qt] Baseline qt_minimal configuration
4012         https://bugs.webkit.org/show_bug.cgi?id=51313
4013
4014         No new tests as there is no new functionality.
4015
4016         * platform/graphics/qt/GraphicsLayerQt.cpp: Fix the location of the
4017         QT_NO_ANIMATION guard.
4018
4019         * platform/qt/WheelEventQt.cpp:
4020         (WebCore::PlatformWheelEvent::applyDelta): Fix the location of the
4021         QT_NO_WHEELEVENT guard.
4022
4023 2011-01-10  Joe Mason  <jmason@rim.com>
4024
4025         Reviewed by Alexey Proskuryakov.
4026
4027         WebSockets: unbounded buffer growth when server sends bad data
4028         https://bugs.webkit.org/show_bug.cgi?id=51253
4029
4030         Fail a websocket handshake after 1024 bytes without a newline, or if it
4031         contains a null byte before the first newline.
4032
4033         Tests: http/tests/websocket/tests/handshake-fail-by-maxlength.html
4034                http/tests/websocket/tests/handshake-fail-by-prepended-null.html
4035
4036         * websockets/WebSocketHandshake.cpp:
4037         (WebCore::WebSocketHandshake::readStatusLine):
4038
4039 2011-01-10  Adam Barth  <abarth@webkit.org>
4040
4041         Reviewed by Darin Adler.
4042
4043         Introduce the notion of a "display-isolated" URL scheme for use by
4044         Chrome-internal URLs
4045         https://bugs.webkit.org/show_bug.cgi?id=50182
4046
4047         This patch adds the basic plumbing for display-isolated URL schemes.
4048         Originally, this patch also had the functional change, but I've split
4049         that off into a separate patch because the original patch caused a
4050         performance regression.
4051
4052         * page/SecurityOrigin.cpp:
4053         (WebCore::SecurityOrigin::canDisplay):
4054         * platform/SchemeRegistry.cpp:
4055         (WebCore::displayIsolatedURLSchemes):
4056         (WebCore::SchemeRegistry::registerURLSchemeAsLocal):
4057         (WebCore::SchemeRegistry::removeURLSchemeRegisteredAsLocal):
4058         (WebCore::SchemeRegistry::localSchemes):
4059         (WebCore::SchemeRegistry::deprecatedShouldTreatURLAsLocal):
4060         (WebCore::SchemeRegistry::shouldTreatURLSchemeAsLocal):
4061         (WebCore::SchemeRegistry::registerURLSchemeAsDisplayIsolated):
4062         (WebCore::SchemeRegistry::shouldTreatURLSchemeAsDisplayIsolated):
4063         * platform/SchemeRegistry.h:
4064
4065 2011-01-10  Jer Noble  <jer.noble@apple.com>
4066
4067         Reviewed by&n