12011-02-15  Gavin Barraclough  <barraclough@apple.com>
2
3        Reviewed by Geoff Garen.
4
5        Bug 54524 - Allow JSObject to fully utilize cell's capacity for inline storage.
6
7        Currently JSObject is both directly instantiated for regular JS objects, and
8        derived to implement subtypes. A consequence of this is that we need to ensure
9        that sufficient space from the cell is left unused and available for any data
10        members that will be introduced by subclasses of JSObject. By restructuring
11        the internal storage array out of JSObject we can increase the size in the
12        internal storage for regular objects.
13
14        Add classes JSFinalObject and JSNonFinalObject. JSNonFinalObject retains as
15        much additional capacity as is currently available to allow for data members
16        in subclasses. JSFinalObject utilizes all available space for internal storage,
17        and only allows construction through JSFinalObject::create().
18
19        * bindings/js/JSDOMWindowShell.h:
20            Update JSObject -> JSNonFinalObject.
21
222011-02-16  Carol Szabo  <carol.szabo@nokia.com>
23
24        Reviewed by David Hyatt.
25
26        REGRESSION: Use after free in WebCore::RenderCounter::destroyCounterNode
27        https://bugs.webkit.org/show_bug.cgi?id=54478
28
29        Test: fast/css/counters/render-tree-reorg-crash.html
30
31        * rendering/RenderCounter.cpp:
32        (WebCore::findPlaceForCounter):
33        Fixed typo. The code was still walking sometimes the renderer tree
34        instead of the element tree as intended.
35
362011-02-16  Hans Wennborg  <hans@chromium.org>
37
38        Reviewed by Jeremy Orlow.
39
40        IndexedDB: Inject auto increment keys via key path on insertion
41        https://bugs.webkit.org/show_bug.cgi?id=54457
42
43        Inject auto increment keys via key path for object stores using key
44        path and auto increment.
45
46        * bindings/v8/IDBBindingUtilities.cpp:
47        (WebCore::LocalContext::getNthValueOnKeyPath):
48        (WebCore::createIDBKeyFromSerializedValueAndKeyPath):
49        (WebCore::injectIDBKeyIntoSerializedValue):
50        * bindings/v8/IDBBindingUtilities.h:
51        * platform/chromium/PlatformBridge.h:
52        * storage/IDBKeyPathBackendImpl.cpp:
53        (IDBKeyPathBackendImpl::injectIDBKeyIntoSerializedValue):
54        * storage/IDBKeyPathBackendImpl.h:
55        * storage/IDBObjectStoreBackendImpl.cpp:
56        (WebCore::injectKeyIntoKeyPath):
57        (WebCore::IDBObjectStoreBackendImpl::selectKeyForPut):
58        (WebCore::IDBObjectStoreBackendImpl::putInternal):
59        * storage/IDBObjectStoreBackendImpl.h:
60        * storage/chromium/IDBKeyPathBackendImpl.cpp:
61        (WebCore::IDBKeyPathBackendImpl::injectIDBKeyIntoSerializedValue):
62
632011-02-16  Sergio Villar Senin  <svillar@igalia.com>
64
65        Reviewed by Martin Robinson.
66
67        [Gtk] Add support for layoutTestController.setWillSendRequestClearHeader
68        https://bugs.webkit.org/show_bug.cgi?id=54537
69
70        Headers removed from the SoupMessage should be also removed from
71        the ResourceRequest when updating the latter from the former.
72
73        * platform/network/soup/ResourceRequestSoup.cpp:
74        (WebCore::ResourceRequest::updateFromSoupMessage):
75
762011-02-16  Ilya Tikhonovsky  <loislo@chromium.org>
77
78        Reviewed by Yury Semikhatsky.
79
80        Web Inspector: split all the functions of Inspector backend API by domain.
81        https://bugs.webkit.org/show_bug.cgi?id=54558
82
83        We have a number of functions from different domains in single instance of InspectorBackend.
84        It'd be better to split the functions by their domains.
85        As example 'evaluate' will be moved from InspectorBackend to RuntimeAgent container.
86
87        * inspector/CodeGeneratorInspector.pm:
88        * inspector/front-end/AuditRules.js:
89        (WebInspector.AuditRules.evaluateInTargetWindow):
90        (WebInspector.AuditRules.UnusedCssRule.prototype.doRun):
91        * inspector/front-end/AuditsPanel.js:
92        (WebInspector.AuditsPanel.prototype._reloadResources):
93        * inspector/front-end/BreakpointManager.js:
94        (WebInspector.BreakpointManager.prototype._projectChanged):
95        (WebInspector.BreakpointManager.prototype.restoreDOMBreakpoints):
96        (WebInspector.BreakpointManager.prototype._saveBreakpoints):
97        (WebInspector.DOMBreakpoint.prototype._enable):
98        (WebInspector.DOMBreakpoint.prototype._disable):
99        (WebInspector.EventListenerBreakpoint.prototype._enable):
100        (WebInspector.EventListenerBreakpoint.prototype._disable):
101        (WebInspector.XHRBreakpoint.prototype._enable):
102        (WebInspector.XHRBreakpoint.prototype._disable):
103        * inspector/front-end/CSSStyleModel.js:
104        (WebInspector.CSSStyleModel.prototype.getStylesAsync):
105        (WebInspector.CSSStyleModel.prototype.getComputedStyleAsync):
106        (WebInspector.CSSStyleModel.prototype.getInlineStyleAsync):
107        (WebInspector.CSSStyleModel.prototype.setRuleSelector.callback):
108        (WebInspector.CSSStyleModel.prototype.setRuleSelector):
109        (WebInspector.CSSStyleModel.prototype.addRule.callback):
110        (WebInspector.CSSStyleModel.prototype.addRule):
111        (WebInspector.CSSStyleModel.prototype._styleSheetChanged):
112        (WebInspector.CSSStyleModel.prototype._onRevert):
113        (WebInspector.CSSStyleDeclaration.prototype.insertPropertyAt):
114        (WebInspector.CSSProperty.prototype.setText):
115        (WebInspector.CSSProperty.prototype.setDisabled):
116        (WebInspector.CSSStyleSheet.createForId):
117        (WebInspector.CSSStyleSheet.prototype.setText):
118        * inspector/front-end/ConsoleView.js:
119        (WebInspector.ConsoleView.prototype.requestClearMessages):
120        (WebInspector.ConsoleView.prototype.completions):
121        (WebInspector.ConsoleView.prototype._handleContextMenuEvent.itemAction):
122        (WebInspector.ConsoleView.prototype._handleContextMenuEvent):
123        (WebInspector.ConsoleView.prototype.evalInInspectedWindow):
124        * inspector/front-end/CookieItemsView.js:
125        (WebInspector.CookieItemsView.prototype._deleteCookie):
126        * inspector/front-end/DOMAgent.js:
127        (WebInspector.DOMAgent.prototype.getChildNodesAsync):
128        (WebInspector.DOMAgent.prototype.setAttributeAsync):
129        (WebInspector.DOMAgent.prototype.removeAttributeAsync):
130        (WebInspector.DOMAgent.prototype.setTextNodeValueAsync):
131        (WebInspector.ApplicationCacheDispatcher.getApplicationCachesAsync):
132        (WebInspector.Cookies.getCookiesAsync):
133        (WebInspector.EventListeners.getEventListenersForNodeAsync):
134        * inspector/front-end/DOMStorage.js:
135        (WebInspector.DOMStorage.prototype.getEntries):
136        (WebInspector.DOMStorage.prototype.setItem):
137        (WebInspector.DOMStorage.prototype.removeItem):
138        * inspector/front-end/Database.js:
139        (WebInspector.Database.prototype.getTableNames):
140        (WebInspector.Database.prototype.executeSql):
141        * inspector/front-end/DebuggerModel.js:
142        (WebInspector.DebuggerModel.prototype.enableDebugger):
143        (WebInspector.DebuggerModel.prototype.disableDebugger):
144        (WebInspector.DebuggerModel.prototype.continueToLocation):
145        (WebInspector.DebuggerModel.prototype.setBreakpoint):
146        (WebInspector.DebuggerModel.prototype.setBreakpointBySourceId):
147        (WebInspector.DebuggerModel.prototype.removeBreakpoint):
148        (WebInspector.DebuggerModel.prototype.editScriptSource):
149        * inspector/front-end/ElementsPanel.js:
150        (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged):
151        (WebInspector.ElementsPanel):
152        (WebInspector.ElementsPanel.prototype.setDocument):
153        (WebInspector.ElementsPanel.prototype.searchCanceled):
154        (WebInspector.ElementsPanel.prototype.performSearch):
155        (WebInspector.ElementsPanel.prototype.handleCopyEvent):
156        (WebInspector.ElementsPanel.prototype.setSearchingForNode):
157        * inspector/front-end/ElementsTreeOutline.js:
158        (WebInspector.ElementsTreeElement.prototype._createTooltipForNode):
159        (WebInspector.ElementsTreeElement.prototype._tagNameEditingCommitted):
160        ():
161        * inspector/front-end/ExtensionPanel.js:
162        (WebInspector.ExtensionWatchSidebarPane.prototype.setExpression):
163        * inspector/front-end/ExtensionServer.js:
164        (WebInspector.ExtensionServer.prototype._onAddRequestHeaders):
165        (WebInspector.ExtensionServer.prototype._onReload):
166        (WebInspector.ExtensionServer.prototype._onEvaluateOnInspectedPage):
167        * inspector/front-end/HeapSnapshotView.js:
168        (WebInspector.HeapSnapshotProfileType.prototype.buttonClicked):
169        * inspector/front-end/NetworkManager.js:
170        (WebInspector.NetworkManager):
171        (WebInspector.NetworkManager.prototype.reset):
172        (WebInspector.NetworkManager.prototype.requestContent):
173        * inspector/front-end/NetworkPanel.js:
174        (WebInspector.NetworkDataGridNode.prototype._openInNewTab):
175        * inspector/front-end/ProfileView.js:
176        (WebInspector.CPUProfileView):
177        (WebInspector.CPUProfileType.prototype.buttonClicked):
178        * inspector/front-end/ProfilesPanel.js:
179        (WebInspector.ProfilesPanel.prototype._clearProfiles):
180        (WebInspector.ProfilesPanel.prototype._removeProfileHeader):
181        (WebInspector.ProfilesPanel.prototype.loadHeapSnapshot):
182        (WebInspector.ProfilesPanel.prototype._toggleProfiling):
183        (WebInspector.ProfilesPanel.prototype.takeHeapSnapshot):
184        * inspector/front-end/PropertiesSidebarPane.js:
185        (WebInspector.PropertiesSidebarPane.prototype.update):
186        * inspector/front-end/RemoteObject.js:
187        (WebInspector.RemoteObject.resolveNode):
188        (WebInspector.RemoteObject.prototype.getProperties):
189        (WebInspector.RemoteObject.prototype.setPropertyValue):
190        (WebInspector.RemoteObject.prototype.pushNodeToFrontend):
191        * inspector/front-end/ResourcesPanel.js:
192        (WebInspector.FrameTreeElement.prototype.onselect):
193        (WebInspector.FrameTreeElement.prototype.set hovered):
194        (WebInspector.FrameResourceTreeElement.prototype.ondblclick):
195        * inspector/front-end/Script.js:
196        (WebInspector.Script.prototype.requestSource):
197        * inspector/front-end/ScriptsPanel.js:
198        (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame):
199        (WebInspector.ScriptsPanel.prototype._setPauseOnExceptions):
200        (WebInspector.ScriptsPanel.prototype._togglePause):
201        (WebInspector.ScriptsPanel.prototype._stepOverClicked):
202        (WebInspector.ScriptsPanel.prototype._stepIntoClicked):
203        (WebInspector.ScriptsPanel.prototype._stepOutClicked):
204        (WebInspector.ScriptsPanel.prototype.toggleBreakpointsClicked):
205        * inspector/front-end/SourceFrame.js:
206        (WebInspector.SourceFrame.prototype._hidePopup):
207        * inspector/front-end/TestController.js:
208        (WebInspector.TestController.prototype.notifyDone):
209        * inspector/front-end/TimelinePanel.js:
210        (WebInspector.TimelinePanel.prototype._toggleTimelineButtonClicked):
211        * inspector/front-end/WatchExpressionsSidebarPane.js:
212        (WebInspector.WatchExpressionsSection.prototype.update):
213        * inspector/front-end/WorkersSidebarPane.js:
214        (WebInspector.WorkersSidebarPane.prototype.setInstrumentation):
215        * inspector/front-end/inspector.js:
216        (WebInspector.highlightDOMNode):
217        (WebInspector.doLoadedDone):
218        (WebInspector.openResource):
219        (WebInspector.documentKeyDown):
220
2212011-02-16  Mario Sanchez Prada  <msanchez@igalia.com>
222
223        Reviewed by Martin Robinson.
224
225        [GTK] events missing when a document is (re)loaded
226        https://bugs.webkit.org/show_bug.cgi?id=25831
227
228        Make sure webArea returns a proper name and that a signal
229        'state-change::defunct' is emitted when detaching the wrapper.
230
231        Test: platform/gtk/accessibility/document-reload-events.html
232
233        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
234        (webkit_accessible_get_name): Returns the current document's title
235        as fallback mechanism for webArea objects.
236        (webkit_accessible_detach): Emit 'state-change::defunct' function
237        as soon as the wrapper is detached from the related core object.
238
2392011-02-15  Nikolas Zimmermann  <nzimmermann@rim.com>
240
241        Reviewed by Dirk Schulze.
242
243        Pixel tests differences on 10.6.6 32bit vs. 64bit
244        https://bugs.webkit.org/show_bug.cgi?id=54474
245
246        When generating a SVG pixel test baseline with a vanilla 10.6.6 installation on a 32bit machine (Core Duo MBP)
247        and comparing the run with a software-identical 64bit machine (Core 2 Duo MBP), there are about 250 differences.
248
249        These fall in two categories:
250        a) 1px differences in text AA, or when drawing circles (all _below_ a tolerance of 0.01). Only visible in the subtracted difference image.
251           The reason is probably CGFloat being typedefed to double on 64bit machines, and float on 32bit machines.
252           AffineTransform stores doubles, so on 32bit machines we loose precision from AffineTransform -> CGAffineTransform.
253
254        b) Failures >0.1% (text origin/scale is slightly different, user-visible).
255           Caused by several sources of numerical instabilities within the SVG rendering code.
256
257           -> SVGPreserveAspectRatio::getCTM() computes an AffineTransform using doubles as input parameters, but floats are passed (like everywhere else in SVG).
258              This method is used to compute the viewBox AffineTransform, that affects the rendering of every content in the document. RenderSVGRoot concats
259              this transformation matrix to the GraphicsContext CTM, resulting in a source of numerical imprecision.
260
261           -> SVGInlineTextBox::paintTextWithShadows() calculates a scaling factor for text, to scale up the specified font size, to the actual on-screen size.
262              SVGInlineTextBox uses the scaled Font object, to draw in an unscaled context, that gets scaled up again afterwards.
263              context->scale(1 / scalingFactor); scaledFont.drawText(); context->scale(scalingFactor);
264
265              To remove the scale from the current GraphicsContext CTM, "context->scale(FloatSize(1 / scalingFactor, ...)" is used. As AffineTransform stores
266              doubles internally, it's likely that "context->scale(FloatSize(1 / ctm.a(), .." doesn't give you a matrix with a=1, but something close to 1.
267              Using "context->concatCTM(AffineTransform().scale(1 / ctm.a(), ..." could be used as workaround, to preserve double precision.
268              Fixing that brings us down to just a few pixel tests that differ between 32 & 64bit. There is still numerical imprecision, as floating-point
269              number representations aren't always precise. Unfortunately CoreGraphics doesn't provide a public way to just set a CTM, it only allows to concat them.
270              Fortunately CGContextSetCTM() is available, as private method, that allows me to switch the context CTM to any arbitary CGAffineTransform.
271
272              -> Add GraphicsContext::setCTM(const AffineTransform&) and implement it for all platforms (each explicitely exposes a 'setCTM' concept, except CG)
273                 Use CGContextSetCTM() for CG, which appears to be present since at least 10.4, Cairo is using it for the same purpose since some years!
274
275              -> Instead of scaling the GraphicsContext before drawing text, grab the current CTM using context->getCTM(), scale it by '1 / scalingFactor'
276                 normalize the transform (look for values close to 0/1 using float precision, and round!), and assign it using context->setCTM(normalizedTransform).
277                 After drawing, just switch back to the preserved original CTM, both operations need GraphicsContext::setCTM.
278                 This fixes all pixel test differences between 32/64 bit machines that fall into category b).
279                 The use of GraphicsContext::setCTM() allows to switch between arbitary context transformations _without_ inducing accumulated rounding imprecision.
280
281        These combined patches fix the pixel test baseline changes.
282
283        Updated existing Snow Leopard pixel test baseline with a 32bit machine, passes here with tolerance 0.
284        The 64bit machine passes the baseline with tolerance 0.01.
285
286        * platform/graphics/GraphicsContext.h: Add setCTM(const AffineTransform&) method.
287        * platform/graphics/cairo/GraphicsContextCairo.cpp:
288        (WebCore::GraphicsContext::setCTM): Implement setCTM.
289        * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
290        (WebCore::GraphicsContextPlatformPrivate::setCTM): Ditto.
291        * platform/graphics/cg/GraphicsContextCG.cpp:
292        (WebCore::GraphicsContext::setCTM): Ditto.
293        * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
294        (WebCore::GraphicsContextPlatformPrivate::setCTM): Ditto.
295        * platform/graphics/chromium/GLES2Canvas.cpp:
296        (WebCore::GLES2Canvas::setCTM): Ditto.
297        * platform/graphics/chromium/GLES2Canvas.h:
298        * platform/graphics/haiku/GraphicsContextHaiku.cpp:
299        (WebCore::GraphicsContext::setCTM): Ditto.
300        * platform/graphics/openvg/GraphicsContextOpenVG.cpp:
301        (WebCore::GraphicsContext::setCTM): Ditto.
302        * platform/graphics/qt/GraphicsContextQt.cpp:
303        (WebCore::GraphicsContext::setCTM): Ditto.
304        * platform/graphics/skia/GraphicsContextSkia.cpp:
305        (WebCore::GraphicsContext::setCTM): Ditto.
306        * platform/graphics/win/GraphicsContextWin.cpp:
307        (WebCore::GraphicsContextPlatformPrivate::setCTM): Ditto.
308        * platform/graphics/wince/GraphicsContextWinCE.cpp:
309        (WebCore::GraphicsContextPlatformPrivate::concatCTM):
310        (WebCore::GraphicsContextPlatformPrivate::setCTM): Ditto.
311        (WebCore::GraphicsContext::setCTM):
312        * platform/graphics/wx/GraphicsContextWx.cpp:
313        (WebCore::GraphicsContext::setCTM): Ditto.
314        * rendering/svg/SVGInlineTextBox.cpp: Use setCTM() to switch to a scale-free AffineTransform, and also to switch back to the original CTM after rendering text.
315        (WebCore::normalizeTransform):
316        (WebCore::SVGInlineTextBox::paintDecorationWithStyle):
317        (WebCore::SVGInlineTextBox::paintTextWithShadows):
318        * svg/SVGPreserveAspectRatio.cpp: s/double/float/.
319        (WebCore::SVGPreserveAspectRatio::getCTM):
320        * svg/SVGPreserveAspectRatio.h:
321        * svg/SVGSVGElement.cpp: Simplify viewport() code, avoid using doubles.
322        (WebCore::SVGSVGElement::viewport):
323
3242011-02-16  Andreas Kling  <kling@webkit.org>
325
326        Reviewed by Dirk Schulze.
327
328        SVGAnimateElement incorrectly uses Color::nameForRenderTreeAsText()
329        https://bugs.webkit.org/show_bug.cgi?id=54547
330
331        * svg/SVGAnimateElement.cpp:
332        (WebCore::SVGAnimateElement::applyResultsToTarget):
333
3342011-02-14  Mikhail Naganov  <mnaganov@chromium.org>
335
336        Reviewed by Pavel Feldman.
337
338        Web Inspector: [Chromium] Landing detailed heap snapshots, part 3.
339        https://bugs.webkit.org/show_bug.cgi?id=54385
340
341        Provide node classes for data grid views:
342         - summary -- list of objects by constuctor;
343         - diff -- summaries btw two snapshots;
344         - explorer -- explore heap graph;
345         - dominators tree;
346
347        * WebCore.gypi:
348        * WebCore.vcproj/WebCore.vcproj:
349        * inspector/front-end/DetailedHeapshotGridNodes.js: Added.
350        * inspector/front-end/HeapSnapshot.js:
351        (WebInspector.HeapSnapshotFilteredOrderedIterator):
352        (WebInspector.HeapSnapshotFilteredOrderedIterator.prototype.incInstancesCount):
353        (WebInspector.HeapSnapshotFilteredOrderedIterator.prototype.get instancesCount):
354        (WebInspector.HeapSnapshotFilteredOrderedIterator.prototype.next):
355        (WebInspector.HeapSnapshotFilteredOrderedIterator.prototype.resetInstancesCount):
356        (WebInspector.HeapSnapshotEdgesProvider):
357        (WebInspector.HeapSnapshotNodesProvider):
358        * inspector/front-end/PleaseWaitMessage.js:
359        (WebInspector.PleaseWaitMessage.prototype.get instance):
360        * inspector/front-end/WebKit.qrc:
361        * inspector/front-end/inspector.html:
362
3632011-02-16  Sheriff Bot  <webkit.review.bot@gmail.com>
364
365        Unreviewed, rolling out r78655.
366        http://trac.webkit.org/changeset/78655
367        https://bugs.webkit.org/show_bug.cgi?id=54543
368
369        Causes too many test failures in chromium (Requested by
370        mnaganov on #webkit).
371
372        * bindings/js/JSEventListener.cpp:
373        (WebCore::JSEventListener::handleEvent):
374        * bindings/js/JSEventTarget.cpp:
375        (WebCore::toJS):
376        * bindings/v8/V8AbstractEventListener.cpp:
377        (WebCore::V8AbstractEventListener::invokeEventHandler):
378        * dom/EventTarget.cpp:
379        * dom/EventTarget.h:
380        * storage/IDBRequest.cpp:
381        * storage/IDBRequest.h:
382
3832011-02-16  Ilya Tikhonovsky  <loislo@chromium.org>
384
385        Reviewed by Yury Semikhatsky.
386
387        Web Inspector: move Database and DOMStorage related things from InspectorAgent to the corresponding agents.
388
389        https://bugs.webkit.org/show_bug.cgi?id=54455
390
391        Some set of instrumentation calls should work even if we have no InspectorFrontend instance and corresponding agents.
392        At the moment we are using InspectorAgent instance for such calls.
393
394        * inspector/InspectorAgent.cpp:
395        (WebCore::InspectorAgent::InspectorAgent):
396        (WebCore::InspectorAgent::createFrontendLifetimeAgents):
397        (WebCore::InspectorAgent::pushDataCollectedOffline):
398        (WebCore::InspectorAgent::didCommitLoad):
399        * inspector/InspectorAgent.h:
400        (WebCore::InspectorOfflineResourcesBase::~InspectorOfflineResourcesBase):
401        (WebCore::InspectorOfflineResourcesBase::InspectorOfflineResourcesBase):
402        (WebCore::InspectorAgent::databaseAgentResources):
403        (WebCore::InspectorAgent::domStorageAgentResources):
404        * inspector/InspectorDOMStorageAgent.cpp:
405        (WebCore::InspectorDOMStorageAgent::Resources::clear):
406        (WebCore::InspectorDOMStorageAgent::Resources::pushDataCollectedOffline):
407        (WebCore::InspectorDOMStorageAgent::InspectorDOMStorageAgent):
408        (WebCore::InspectorDOMStorageAgent::~InspectorDOMStorageAgent):
409        (WebCore::InspectorDOMStorageAgent::createOfflineStorage):
410        (WebCore::InspectorDOMStorageAgent::selectDOMStorage):
411        (WebCore::InspectorDOMStorageAgent::getDOMStorageResourceForId):
412        (WebCore::InspectorDOMStorageAgent::didUseDOMStorage):
413        * inspector/InspectorDOMStorageAgent.h:
414        (WebCore::InspectorDOMStorageAgent::create):
415        * inspector/InspectorDatabaseAgent.cpp:
416        (WebCore::InspectorDatabaseAgent::Resources::clear):
417        (WebCore::InspectorDatabaseAgent::Resources::pushDataCollectedOffline):
418        (WebCore::InspectorDatabaseAgent::didOpenDatabase):
419        (WebCore::InspectorDatabaseAgent::InspectorDatabaseAgent):
420        (WebCore::InspectorDatabaseAgent::createOfflineStorage):
421        (WebCore::InspectorDatabaseAgent::databaseForId):
422        (WebCore::InspectorDatabaseAgent::selectDatabase):
423        * inspector/InspectorDatabaseAgent.h:
424        (WebCore::InspectorDatabaseAgent::create):
425        * inspector/InspectorInstrumentation.cpp:
426        (WebCore::InspectorInstrumentation::didOpenDatabaseImpl):
427        (WebCore::InspectorInstrumentation::didUseDOMStorageImpl):
428
4292011-02-15  John Sullivan  <sullivan@apple.com>
430
431        Reviewed by Antti Koivisto.
432
433        Dan Bernstein came up with this fix while we debugged it. I just typed.
434
435        https://bugs.webkit.org/show_bug.cgi?id=54532
436        On platforms without platformWidgets, going Back to a scrolled page 
437        draws at the top-left before drawing at the restored scroll position
438        
439        <rdar://problem/8998838>
440        
441        * page/FrameView.cpp:
442        (WebCore::FrameView::performPostLayoutTasks):
443        Don't send the didFirstLayout and didFirstVisuallyNonEmptyLayout callbacks
444        for nested layouts. Doing so was causing ScrollView::setScrollPosition()
445        to short-circuit.
446
4472011-02-15  Csaba Osztrogonác  <ossy@webkit.org>
448
449        Unreviewed.
450
451        [Qt][V8] Buildfix. Add missing USE(JSC) guard.
452
453        * plugins/qt/PluginViewQt.cpp:
454
4552011-02-15  Ami Fischman  <fischman@chromium.org>
456
457        Reviewed by David Levin.
458
459        Remove the artificial -32px shift for media controls in mediaDocuments
460        so that they overlap the canvas as they do in non-mediaDocuments.
461        This also fixes test_shell failing to update the media slider (see
462        linked crbug below).
463
464        https://bugs.webkit.org/show_bug.cgi?id=27798
465        http://crbug.com/72623
466
467        Test: media/video-controls-in-media-document.html
468        Added a render test that asserts that the controls show up in the
469        expected spot (0,208) instead of below the canvas (0,240).
470
471        * css/mediaControlsChromium.css:
472
4732011-02-15  Ryosuke Niwa  <rniwa@webkit.org>
474
475        Reviewed by Darin Adler.
476
477        Extract a function to process ancestor and their sibling nodes from processContents
478        https://bugs.webkit.org/show_bug.cgi?id=54425
479
480        Extracted processAncestorsAndTheirSiblings.
481
482        * dom/Range.cpp:
483        (WebCore::Range::processContents): Calls processContents.
484        (WebCore::Range::processAncestorsAndTheirSiblings): Extracted from processContents.
485        * dom/Range.h:
486
4872011-02-15  Kent Tamura  <tkent@chromium.org>
488
489        Reviewed by Darin Fisher.
490
491        [Chromium] Rendering error of spin buttons on layers
492        https://bugs.webkit.org/show_bug.cgi?id=54427
493
494        Test: fast/forms/input-appearance-spinbutton-layer.html
495
496        * rendering/RenderThemeChromiumWin.cpp:
497          Add checks for multiple ThemePainter instances.
498        (WebCore::RenderThemeChromiumWin::paintInnerSpinButton):
499          Avoid to create multiple ThemePainter instances.
500
5012011-02-15  Chris Rogers  <crogers@google.com>
502
503        Reviewed by Kenneth Russell.
504
505        Fix race condition in JavaScriptAudioNode
506        https://bugs.webkit.org/show_bug.cgi?id=54518
507
508        No new tests since audio API is not yet implemented.
509
510        * webaudio/JavaScriptAudioNode.cpp:
511        (WebCore::JavaScriptAudioNode::process):
512
5132011-02-10  Jeremy Orlow  <jorlow@chromium.org>
514
515        Reviewed by Nate Chapin.
516
517        Throwing in an IndexedDB error or success event should lead to the transaction aborting
518        https://bugs.webkit.org/show_bug.cgi?id=54249
519
520        When an exception is thrown but not handled  within an IDBRequests success/error event,
521        we should abort the transaction.
522
523        Test: storage/indexeddb/exception-in-event-aborts.html
524
525        * bindings/js/JSEventListener.cpp:
526        (WebCore::JSEventListener::handleEvent):
527        * bindings/js/JSEventTarget.cpp:
528        (WebCore::toJS):
529        * bindings/v8/V8AbstractEventListener.cpp:
530        (WebCore::V8AbstractEventListener::invokeEventHandler):
531        * dom/EventTarget.cpp:
532        (WebCore::EventTarget::uncaughtExceptionInEventHandler):
533        * dom/EventTarget.h:
534        * storage/IDBRequest.cpp:
535        (WebCore::IDBRequest::uncaughtExceptionInEventHandler):
536        * storage/IDBRequest.h:
537
5382011-02-15  Ian Henderson  <ianh@apple.com>
539
540        Reviewed by Darin Adler.
541
542        To determine image properties, CG allocates memory which isn't included in CachedImage's decoded size
543        https://bugs.webkit.org/show_bug.cgi?id=53281
544
545        When determining properties of an image (such as its size), CG ends up
546        decoding part of the image.  This patch adds accounting for this extra
547        decoded size so a cache prune can clean up the allocations.
548
549        * platform/graphics/BitmapImage.cpp:
550        (WebCore::BitmapImage::BitmapImage):
551        (WebCore::BitmapImage::destroyMetadataAndNotify):
552        Clearing the source destroys the extra decoded data.  Report this
553        change in decoded size to the image observer.
554        (WebCore::BitmapImage::cacheFrame):
555        The first decoded frame subsumes the data decoded when determining
556        image properties, so we subtract it out here.
557        (WebCore::BitmapImage::didDecodeProperties):
558        Reports the extra decoded size to the image's observer.
559        (WebCore::BitmapImage::size):
560        (WebCore::BitmapImage::currentFrameSize):
561        (WebCore::BitmapImage::getHotSpot):
562        (WebCore::BitmapImage::frameCount):
563        (WebCore::BitmapImage::isSizeAvailable):
564        (WebCore::BitmapImage::repetitionCount):
565        * platform/graphics/BitmapImage.h:
566        * platform/graphics/ImageSource.cpp:
567        (WebCore::ImageSource::bytesDecodedToDetermineProperties):
568        The default value is 0 to match the current behavior on other
569        platforms.
570        * platform/graphics/ImageSource.h:
571        * platform/graphics/cg/ImageSourceCG.cpp:
572        (WebCore::ImageSource::bytesDecodedToDetermineProperties):
573        Add a constant value for bytesDecodedToDetermineProperties(), measured
574        by tracing malloc/calloc calls while asking an image source for its
575        properties.
576
5772011-02-15  James Robinson  <jamesr@chromium.org>
578
579        Reviewed by Alexey Proskuryakov.
580
581        requestAnimationFrame callbacks should not fire within a modal dialog
582        https://bugs.webkit.org/show_bug.cgi?id=53188
583
584        requestAnimationFrame callbacks shouldn't fire while a modal dialog is up (like a window.alert()).
585        This matches Firefox and other async APIs.  This patch moves the callback servicing into its own
586        controller class which receives notifications on suspend/resume.
587
588        Test: fast/animation/request-animation-frame-during-modal.html
589
590        * WebCore.gypi:
591        * bindings/js/ScriptDebugServer.cpp:
592        (WebCore::ScriptDebugServer::setJavaScriptPaused):
593        * dom/Document.cpp:
594        (WebCore::Document::Document):
595        (WebCore::Document::suspendScriptedAnimationControllerCallbacks):
596        (WebCore::Document::resumeScriptedAnimationControllerCallbacks):
597        (WebCore::Document::webkitRequestAnimationFrame):
598        (WebCore::Document::webkitCancelRequestAnimationFrame):
599        (WebCore::Document::serviceScriptedAnimations):
600        * dom/Document.h:
601        * dom/ScriptExecutionContext.h:
602        (WebCore::ScriptExecutionContext::suspendScriptedAnimationControllerCallbacks):
603        (WebCore::ScriptExecutionContext::resumeScriptedAnimationControllerCallbacks):
604        * dom/ScriptedAnimationController.cpp: Added.
605        (WebCore::ScriptedAnimationController::ScriptedAnimationController):
606        (WebCore::ScriptedAnimationController::suspend):
607        (WebCore::ScriptedAnimationController::resume):
608        (WebCore::ScriptedAnimationController::registerCallback):
609        (WebCore::ScriptedAnimationController::cancelCallback):
610        (WebCore::ScriptedAnimationController::serviceScriptedAnimations):
611        * dom/ScriptedAnimationController.h: Added.
612        (WebCore::ScriptedAnimationController::create):
613        * history/CachedFrame.cpp:
614        (WebCore::CachedFrameBase::restore):
615        (WebCore::CachedFrame::CachedFrame):
616        * page/PageGroupLoadDeferrer.cpp:
617        (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
618        (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
619
6202011-02-14  Jeremy Orlow  <jorlow@chromium.org>
621
622        Reviewed by Darin Fisher.
623
624        Add initial support for per-origin quotas to IndexedDB
625        https://bugs.webkit.org/show_bug.cgi?id=54421
626
627        Add support for non-persistent per-origin quotas. If one is
628        specified, it overrides the default.
629
630        No tests as this is only exposed via the Chromium webkit API.
631
632        * storage/IDBFactoryBackendImpl.cpp:
633        (WebCore::IDBFactoryBackendImpl::open):
634        (WebCore::IDBFactoryBackendImpl::setQuota):
635        * storage/IDBFactoryBackendImpl.h:
636        * storage/IDBFactoryBackendInterface.h:
637
6382011-02-15  Adam Barth  <abarth@webkit.org>
639
640        Reviewed by Darin Adler.
641
642        XSLT with output method HTML and images crashes in debug mode
643        https://bugs.webkit.org/show_bug.cgi?id=54462
644
645        http://trac.webkit.org/changeset/75577 created Document::setContent but
646        didn't notice that the code paths combined into Document::setContent
647        were subtly different.  In particular, some of the code paths called
648        parser->finish() whereas other did not.
649
650        The difference is that an explicit call to parser->finish() is required
651        in the case where there is no frame because explicitClose doesn't call
652        endIfNotLoadingMainResource if there is no frame.  This patch moves
653        that logic inside explicitClose, which is more natural.
654
655        This patch also removes removeAllChildren, which has not effect in this
656        situation and should never have been added in the first place.
657
658        Test: fast/parser/xslt-with-html.xml
659
660        * dom/Document.cpp:
661        (WebCore::Document::setContent):
662        (WebCore::Document::explicitClose):
663
6642011-02-15  Oliver Hunt  <oliver@apple.com>
665
666        Fix EFL build for
667        https://bugs.webkit.org/show_bug.cgi?id=54415
668
669        * CMakeLists.txt:
670
6712011-02-15  David Kilzer  <ddkilzer@apple.com>
672
673        <http://webkit.org/b/54487> Minor header clean up in RenderLayerBacking.cpp
674
675        Reviewed by Darin Adler.
676
677        * rendering/RenderLayerBacking.cpp: Remove unused
678        WebGLRenderingContext.h header, and move GraphicsContext3D.h
679        into a #if ENABLE(WEBGL) || ENABLE(ACCELERATED_2D_CANVAS)/#endif
680        block.
681
6822011-02-14  Oliver Hunt  <oliver@apple.com>
683
684        Reviewed by Gavin Barraclough and Geoff Garen.
685
686        Refactor handles and weak pointers to become nicer and more automatic
687        https://bugs.webkit.org/show_bug.cgi?id=54415
688
689        Update WebCore to use the new Global<> type rather than ProtectedJSValue
690        and gc[Un]Protect.  Also update to use new WeakGCPtr APIs, and remove now
691        unnecessary destructors.
692
693        * ForwardingHeaders/collector/handles/Global.h: Added.
694        * WebCore.vcproj/WebCore.vcproj:
695        * WebCore.vcproj/copyForwardingHeaders.cmd:
696        * bindings/js/JSCallbackData.h:
697        (WebCore::JSCallbackData::JSCallbackData):
698        * bindings/js/JSCustomVoidCallback.h:
699        * bindings/js/JSDOMBinding.cpp:
700        (WebCore::forgetDOMNode):
701        (WebCore::cacheDOMNodeWrapper):
702        * bindings/js/JSDOMWindowBase.h:
703        * bindings/js/JSDOMWindowShell.cpp:
704        (WebCore::JSDOMWindowShell::setWindow):
705        * bindings/js/JSDataGridDataSource.h:
706        * bindings/js/JSEventListener.cpp:
707        (WebCore::JSEventListener::JSEventListener):
708        * bindings/js/JSEventListener.h:
709        (WebCore::JSEventListener::setWrapper):
710        * bindings/js/JSLazyEventListener.cpp:
711        (WebCore::JSLazyEventListener::initializeJSFunction):
712        * bindings/js/ScheduledAction.cpp:
713        (WebCore::ScheduledAction::ScheduledAction):
714        (WebCore::ScheduledAction::executeFunctionInContext):
715        * bindings/js/ScheduledAction.h:
716        (WebCore::ScheduledAction::ScheduledAction):
717        * bindings/js/ScriptCachedFrameData.cpp:
718        (WebCore::ScriptCachedFrameData::ScriptCachedFrameData):
719        (WebCore::ScriptCachedFrameData::restore):
720        * bindings/js/ScriptCachedFrameData.h:
721        * bindings/js/ScriptCallStackFactory.cpp:
722        (WebCore::createScriptArguments):
723        * bindings/js/ScriptController.cpp:
724        (WebCore::ScriptController::createWindowShell):
725        (WebCore::ScriptController::evaluateInWorld):
726        (WebCore::ScriptController::clearWindowShell):
727        (WebCore::ScriptController::attachDebugger):
728        * bindings/js/ScriptController.h:
729        * bindings/js/ScriptFunctionCall.cpp:
730        (WebCore::ScriptFunctionCall::call):
731        (WebCore::ScriptCallback::call):
732        * bindings/js/ScriptObject.cpp:
733        (WebCore::ScriptObject::ScriptObject):
734        * bindings/js/ScriptObject.h:
735        * bindings/js/ScriptState.cpp:
736        (WebCore::ScriptStateProtectedPtr::ScriptStateProtectedPtr):
737        (WebCore::ScriptStateProtectedPtr::get):
738        * bindings/js/ScriptState.h:
739        * bindings/js/ScriptValue.cpp:
740        (WebCore::ScriptValue::isFunction):
741        (WebCore::ScriptValue::deserialize):
742        * bindings/js/ScriptValue.h:
743        (WebCore::ScriptValue::ScriptValue):
744        (WebCore::ScriptValue::hasNoValue):
745        * bindings/js/ScriptWrappable.h:
746        (WebCore::ScriptWrappable::ScriptWrappable):
747        (WebCore::ScriptWrappable::setWrapper):
748        * bindings/js/WorkerScriptController.cpp:
749        (WebCore::WorkerScriptController::WorkerScriptController):
750        (WebCore::WorkerScriptController::~WorkerScriptController):
751        (WebCore::WorkerScriptController::initScript):
752        (WebCore::WorkerScriptController::evaluate):
753        * bindings/js/WorkerScriptController.h:
754        (WebCore::WorkerScriptController::workerContextWrapper):
755        * bindings/scripts/CodeGeneratorJS.pm:
756        * bridge/NP_jsobject.cpp:
757        (_NPN_InvokeDefault):
758        (_NPN_Invoke):
759        (_NPN_Evaluate):
760        (_NPN_Construct):
761        * bridge/jsc/BridgeJSC.cpp:
762        (JSC::Bindings::Instance::Instance):
763        (JSC::Bindings::Instance::~Instance):
764        (JSC::Bindings::Instance::willDestroyRuntimeObject):
765        (JSC::Bindings::Instance::willInvalidateRuntimeObject):
766        * bridge/jsc/BridgeJSC.h:
767        * bridge/runtime_object.cpp:
768        (JSC::Bindings::RuntimeObject::invalidate):
769        * bridge/runtime_root.cpp:
770        (JSC::Bindings::RootObject::RootObject):
771        (JSC::Bindings::RootObject::invalidate):
772        (JSC::Bindings::RootObject::globalObject):
773        (JSC::Bindings::RootObject::updateGlobalObject):
774        * bridge/runtime_root.h:
775        * dom/EventListener.h:
776        * dom/EventTarget.h:
777        (WebCore::EventTarget::markJSEventListeners):
778        * xml/XMLHttpRequest.cpp:
779        
780        Qt bindings courtesy of Csaba Osztrogonác
781        * bridge/qt/qt_runtime.cpp:
782        (JSC::Bindings::QtRuntimeConnectionMethod::call):
783        (JSC::Bindings::QtConnectionObject::QtConnectionObject):
784        (JSC::Bindings::QtConnectionObject::execute):
785        (JSC::Bindings::QtConnectionObject::match):
786        * bridge/qt/qt_runtime.h:
787
7882011-02-15  Jia Pu  <jpu@apple.com>
789
790        Reviewed by Darin Adler.
791
792        Autocorrection should respect undo.
793        https://bugs.webkit.org/show_bug.cgi?id=52221
794        <rdar://problem/8663399>
795
796        Manual test: manual-tests/autocorrection/undo-autocorrection.html
797
798        When user undoes an autocorrection, we need to do four things:
799        1. Revert the change in text that has been made by correction.
800        2. Revert the selection to pre-correction state so that user can immediately continue typing.
801        3. Add appropriate markers to reverted text so that it won't be corrected again and/or shown
802           as misspelled.
803        4. If applicable, notify spell checking service to record this reversion.
804
805        To achieve these, this patch introduces following changes:
806        1. Created SpellingCorrectionCommand so that correction can be undone in similar way as any
807           other editing command. SpellingCorrectionCommand is a composition of SetSelectionCommand,
808           SpellingCorrectionRecordUndoCommand and ReplaceSelectionCommand.
809        2. Created SetSelectionCommand so that undo command can restore selection state.
810        3. Added member function recordAutocorrectionResponse() to editor client.
811
812        To improve readability, this patch also consolidates various boolean arguments in SelectionController::setSelection()
813        and ReplaceSelectionCommand::ReplaceSelectionCommand(). These boolean arguments have been
814        replaced by enum variable.
815
816        * WebCore.exp.in: Updated for changes in Editor and ReplaceSelectionCommand.
817
818        * WebCore.xcodeproj/project.pbxproj: Updated for new source files.
819
820        * editing/CompositeEditCommand.cpp:
821        (WebCore::CompositeEditCommand::moveParagraphs): Adopted new signature of ReplaceSelectionCommand::create().
822
823        * editing/Editor.cpp:
824        (WebCore::Editor::replaceSelectionWithFragment): Ditto.
825        (WebCore::Editor::unappliedEditing): Cleaned up trailing whitespace.
826        (WebCore::Editor::reappliedEditing): Ditto.
827        (WebCore::Editor::selectComposition): Adopted new signature of SelectionController::setSelection().
828        (WebCore::Editor::confirmComposition): Ditto.
829        (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): Rearranged code to reduce the
830            level of deeply nested if statement. Adopted SpellingCorrectionCommand.
831        (WebCore::Editor::applyCorrectionPanelInfo): Adopted SpellingCorrectionCommand.
832        (WebCore::Editor::unappliedSpellCorrection): Function for adding markers to reverted text and
833            for notifiying editor client about undone correction.
834        (WebCore::Editor::changeSelectionAfterCommand): Adopted new signature of SelectionController::setSelection().
835        (WebCore::Editor::respondToChangedSelection): Use SelectionController::SetSelectionOptions
836            instead of boolean variables.
837
838        * editing/Editor.h: Added Editor::unappliedSpellCorrection().
839
840        * editing/EditorCommand.cpp:
841        (WebCore::executeInsertFragment): Adopted new signature of ReplaceSelectionCommand::create().
842
843        * editing/MoveSelectionCommand.cpp:
844        (WebCore::MoveSelectionCommand::doApply): Ditto.
845
846        * editing/ReplaceSelectionCommand.cpp:
847        (WebCore::ReplaceSelectionCommand::ReplaceSelectionCommand): Replaced all boolean arguments
848            with an enum value.
849
850        * editing/ReplaceSelectionCommand.h:
851        (WebCore::ReplaceSelectionCommand::create): Ditto.
852
853        * editing/SelectionController.cpp: Adopted new signature of SelectionController::setSelection().
854        (WebCore::SelectionController::moveTo):
855        (WebCore::SelectionController::setSelection):
856        (WebCore::SelectionController::respondToNodeModification):
857        (WebCore::SelectionController::setBase):
858        (WebCore::SelectionController::setExtent):
859        (WebCore::SelectionController::setSelectedRange):
860
861        * editing/SelectionController.h:
862        (WebCore::SelectionController::setSelection): Replaced all boolean arguments with an enum value.
863
864        * editing/SetSelectionCommand.cpp: Added.
865        (WebCore::SetSelectionCommand::SetSelectionCommand):
866        (WebCore::SetSelectionCommand::doApply):
867        (WebCore::SetSelectionCommand::doUnapply):
868
869        * editing/SetSelectionCommand.h: Added.
870        (WebCore::SetSelectionCommand::create):
871
872        * editing/mac/SpellingCorrectionCommand.cpp: Added.
873        (WebCore::SpellingCorrectionRecordUndoCommand::create):
874        (WebCore::SpellingCorrectionRecordUndoCommand::SpellingCorrectionRecordUndoCommand):
875        (WebCore::SpellingCorrectionRecordUndoCommand::doApply):
876        (WebCore::SpellingCorrectionRecordUndoCommand::doUnapply):
877        (WebCore::SpellingCorrectionCommand::SpellingCorrectionCommand):
878        (WebCore::SpellingCorrectionCommand::doApply):
879
880        * editing/mac/SpellingCorrectionCommand.h: Added.
881        (WebCore::SpellingCorrectionCommand::create):
882
883        * loader/EmptyClients.h: Updated for the new function declared in EditorClient.
884        (WebCore::EmptyEditorClient::recordAutocorrectionResponse):
885
886        * manual-tests/autocorrection/undo-autocorrection.html: Added.
887
888        * page/ContextMenuController.cpp:
889        (WebCore::ContextMenuController::contextMenuItemSelected): Adopted new signature of ReplaceSelectionCommand::create().
890
891        * page/DragController.cpp:
892        (WebCore::DragController::concludeEditDrag): Ditto.
893
894        * page/EditorClient.h: Added EditorClient::recordAutocorrectionResponse().
895
8962011-02-15  Beth Dakin  <bdakin@apple.com>
897
898        Reviewed by Darin Adler.
899
900        Speculative fix for <rdar://problem/8998498> CrashTracer: [USER] 
901        8 crashes in WebProcess calling setOverlayScrollerState:forceImmediately:
902
903        My best guess is that this is crashing because 
904        willRemoveVerticalScrollbar()/Horizontal was not being called
905        properly from the RenderLayer destructor. 
906        
907        Call willRemoveVerticalScrollbar()/Horizontal from destroyScrollbar()
908        so that all current and future scrollbar-destroyers will properly 
909        call this function. And only do it for native scrollers.
910        (WebCore::RenderLayer::destroyScrollbar):
911        (WebCore::RenderListBox::destroyScrollbar):
912
913        For consistency's sake, I also moved didAddVerticalScrollbar()
914        /Horizontal to createScrollbar(). Again, only call for native 
915        scrollers.
916        * rendering/RenderLayer.cpp:
917        (WebCore::RenderLayer::createScrollbar):
918        (WebCore::RenderListBox::createScrollbar):
919
920        These functions no longer call didAdd/willRemove.
921        (WebCore::RenderLayer::setHasHorizontalScrollbar):
922        (WebCore::RenderLayer::setHasVerticalScrollbar):
923        * rendering/RenderListBox.cpp:
924        (WebCore::RenderListBox::setHasVerticalScrollbar):
925        
926        Remove unnecessary ScrollableArea::-prefix
927        * platform/ScrollView.cpp:
928        (WebCore::ScrollView::setHasHorizontalScrollbar):
929        (WebCore::ScrollView::setHasVerticalScrollbar):
930
9312011-02-15  Joseph Pecoraro  <joepeck@webkit.org>
932
933        Reviewed by David Kilzer.
934
935        Cleanup Some Potential ENABLE(INSPECTOR) Related Building Issues
936        https://bugs.webkit.org/show_bug.cgi?id=54048
937
938        * WebCore.exp.in: moved inspector only export into ENABLE(INSPECTOR) block.
939        * bindings/js/ScriptHeapSnapshot.h: include no longer needed.
940
9412011-02-15  Stephen White  <senorblanco@chromium.org>
942
943        Reviewed by James Robinson.
944 
945        [chromium] clearRect() is incorrect in accelerated 2D canvas.
946        https://bugs.webkit.org/show_bug.cgi?id=54497
947
948        When doing GPU-Canvas2D clearRect() using the fast path (glClear()),
949        we were not correctly converting from canvas to screen coordinates. 
950        Fixed by inverting the rectangle in Y, and changing
951        SharedGraphicsContext3D::scissor to take glScissor-like parameters.
952
953        Covered by fast/canvas/canvas-strokeRect.html.
954
955        * platform/graphics/chromium/GLES2Canvas.cpp:
956        (WebCore::GLES2Canvas::clearRect):
957        Flip the Y coord of the rectangle passed to scissor().
958        * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
959        (WebCore::SharedGraphicsContext3D::scissor):
960        * platform/graphics/gpu/SharedGraphicsContext3D.h:
961        Give scissor() the same param types as GraphicsContext3D::scissor().
962
9632011-02-15  Pratik Solanki  <psolanki@apple.com>
964
965        Move WTF_USE_CFNETWORK to Platform.h
966        https://bugs.webkit.org/show_bug.cgi?id=54168
967
968        Reviewed by Darin Adler.
969
970        * config.h: Remove WTF_USE_CFNETWORK.
971
9722011-02-15  Kenneth Russell  <kbr@google.com>
973
974        Reviewed by Darin Fisher.
975
976        Allow controlling minimum DOMTimer interval on a per-page basis
977        https://bugs.webkit.org/show_bug.cgi?id=54312
978
979        Renamed DOMTimer::minTimerInterval and setMinTimerInterval to
980        defaultMinTimerInterval and setDefaultMinTimerInterval, made them
981        private and exposed them via Settings::defaultMinDOMTimerInterval
982        and setDefaultMinDOMTimerInterval. Added new
983        Settings::setMinDOMTimerInterval and minDOMTimerInterval.
984
985        The storage for the minimum timer interval currently lives in the
986        Page, though this could be moved to the Settings object if
987        desired. The accessor methods on the Page are private and exposed
988        to Settings by making Settings a friend, so the abstraction
989        barrier is clear at the API level.
990
991        Adjusting the interval both upward and downward may cause the fire
992        times of the active timers on the page to be adjusted, if they
993        would be affected by the clamping value. This is needed to reduce
994        latency when bringing a tab to the foreground, in particular if
995        the minimum timer interval was decreased from a very high value to
996        a very low value.
997
998        A new method, setMinimumTimerInterval, has been added to
999        LayoutTestController, implemented in all ports of DumpRenderTree,
1000        and used in new layout tests.
1001
1002        Ideally changing the page's minimum timer interval would affect
1003        dedicated workers, but this is too much to do in an initial patch,
1004        so a FIXME has been added.
1005
1006        Tested with:
1007          - The new layout tests on the WebKit Mac and Chromium (Mac,
1008            Linux) DRT ports.
1009          - Hooked up the new API in Chromium and ran some simple manual
1010            tests.
1011
1012        Tests: fast/dom/timer-increase-min-interval-and-reset-part-1.html
1013               fast/dom/timer-increase-min-interval-and-reset-part-2.html
1014               fast/dom/timer-increase-min-interval.html
1015               fast/dom/timer-increase-then-decrease-min-interval.html
1016
1017        * WebCore.exp.in:
1018        * dom/Document.cpp:
1019        (WebCore::Document::minimumTimerInterval):
1020        * dom/Document.h:
1021        * dom/ScriptExecutionContext.cpp:
1022        (WebCore::ScriptExecutionContext::adjustMinimumTimerInterval):
1023        (WebCore::ScriptExecutionContext::minimumTimerInterval):
1024        * dom/ScriptExecutionContext.h:
1025        * page/DOMTimer.cpp:
1026        (WebCore::DOMTimer::DOMTimer):
1027        (WebCore::DOMTimer::fired):
1028        (WebCore::DOMTimer::adjustMinimumTimerInterval):
1029        (WebCore::DOMTimer::intervalClampedToMinimum):
1030        * page/DOMTimer.h:
1031        (WebCore::DOMTimer::defaultMinTimerInterval):
1032        (WebCore::DOMTimer::setDefaultMinTimerInterval):
1033        * page/Page.cpp:
1034        (WebCore::Page::Page):
1035        (WebCore::Page::setMinimumTimerInterval):
1036        (WebCore::Page::minimumTimerInterval):
1037        * page/Page.h:
1038        * page/Settings.cpp:
1039        (WebCore::Settings::setDefaultMinDOMTimerInterval):
1040        (WebCore::Settings::defaultMinDOMTimerInterval):
1041        (WebCore::Settings::setMinDOMTimerInterval):
1042        (WebCore::Settings::minDOMTimerInterval):
1043        * page/Settings.h:
1044        * platform/Timer.h:
1045        (WebCore::TimerBase::augmentFireInterval):
1046        (WebCore::TimerBase::augmentRepeatInterval):
1047
10482011-02-15  Simon Fraser  <simon.fraser@apple.com>
1049
1050        Reviewed by Beth Dakin.
1051
1052        Fix scrollbar rendering crash when rendered into a layer
1053        https://bugs.webkit.org/show_bug.cgi?id=54494
1054
1055        Remove code added in r78394 which was intended to find out whether
1056        a scrollbar was being rendered into a compositing layer. r78612 
1057        obviated the need for this code.
1058
1059        * page/FrameView.h:
1060        * platform/ScrollableArea.h:
1061        * rendering/RenderLayer.cpp:
1062        * rendering/RenderLayer.h:
1063        * rendering/RenderListBox.cpp:
1064        * rendering/RenderListBox.h:
1065
10662011-02-15  Simon Fraser  <simon.fraser@apple.com>
1067
1068        Let Xcode have its way with the project.
1069        
1070        * WebCore.xcodeproj/project.pbxproj:
1071
10722011-02-15  Simon Fraser  <simon.fraser@apple.com>
1073
1074        Fix Mac builds that don't use rubber-band scrolling
1075        by moving m_drawingIntoLayer out of the #ifdef.
1076
1077        * platform/mac/ScrollAnimatorMac.h:
1078        * platform/mac/ScrollAnimatorMac.mm:
1079        (WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
1080
10812011-02-15  Martin Robinson  <mrobinson@igalia.com>
1082
1083        Reviewed by Xan Lopez.
1084
1085        [Freetype] Better map CSS font weight to Fontconfig font weight
1086        https://bugs.webkit.org/show_bug.cgi?id=54323
1087
1088        * platform/graphics/freetype/FontCacheFreeType.cpp:
1089        (WebCore::fontWeightToFontconfigWeight): Added this helper to map between CSS and
1090        Fontconfig font weights.
1091        (WebCore::FontCache::createFontPlatformData): Use the new helper instead of just
1092        deciding between bold and regular.
1093
10942011-02-15  Simon Fraser  <simon.fraser@apple.com>
1095
1096        Reviewed by Sam Weinig.
1097
1098        Fix scrollbar rendering crash when rendered into a layer
1099        https://bugs.webkit.org/show_bug.cgi?id=54494
1100        
1101        The scroller delegate was failing to return a layer in a case
1102        where the scroller was still rendering into a GraphicsLayer, because
1103        even though WebCore had switched out of compositing mode, the
1104        DrawingAreaImpl was still rendering into its nonCompositedContent
1105        layer. This happens when the m_exitCompositingTimer timer hasn't fired
1106        yet.
1107        
1108        The fix is to track whether we're drawing into a layer via the
1109        GraphicsContext, rather than asking about compositing layers.
1110
1111        * platform/graphics/GraphicsContext.h:
1112        * platform/graphics/cg/GraphicsContextCG.cpp:
1113        (WebCore::GraphicsContext::setIsCALayerContext):
1114        (WebCore::GraphicsContext::isCALayerContext):
1115        Getter and setter for the bit that says if we're rendering into a CALayer.
1116
1117        * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
1118        (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
1119        Store a bool for whether this context targets a layer.
1120
1121        * platform/graphics/mac/WebLayer.mm:
1122        (drawLayerContents): Call setIsCALayerContext(true).
1123        
1124        * platform/mac/ScrollAnimatorMac.h:
1125        (WebCore::ScrollAnimatorMac::setIsDrawingIntoLayer):
1126        (WebCore::ScrollAnimatorMac::isDrawingIntoLayer):
1127        New methods to get and set a flag that says when we're
1128        drawing into a layer, so that the delegate can get at this state.
1129
1130        * platform/mac/ScrollAnimatorMac.mm:
1131        (-[ScrollbarPainterDelegate layer]): Use isDrawingIntoLayer()
1132        (WebCore::ScrollAnimatorMac::ScrollAnimatorMac): Init the flag.
1133
1134        * platform/mac/ScrollbarThemeMac.mm:
1135        (WebCore::ScrollbarThemeMac::unregisterScrollbar): Whitespace.
1136        (WebCore::ScrollbarThemeMac::paint): Push the "isDrawingIntoLayer"
1137        state down onto ScrollAnimatorMac, getting it from the GraphicsContext.
1138
11392011-02-15  Anders Carlsson  <andersca@apple.com>
1140
1141        Reviewed by Darin Adler.
1142
1143        Add NPP_GetSitesWithData and NPP_URLRedirectNotify to the NPAPI headers
1144        https://bugs.webkit.org/show_bug.cgi?id=54481
1145
1146        We should really sync all headers with the NPAPI repository, but doing that
1147        lead to build errors so I just added what was needed.
1148
1149        * bridge/npapi.h:
1150        Add new functions.
1151
1152        * bridge/nptypes.h:
1153        Sync with the official NPAPI repository, adding 64-bit integer types and
1154        removing a duplicate license header.
1155
1156        * plugins/npfunctions.h:
1157        Add new functions.
1158
11592011-02-15  Antti Koivisto  <antti@apple.com>
1160
1161        Reviewed by Darin Adler.
1162
1163        https://bugs.webkit.org/show_bug.cgi?id=54486
1164        Crashes under CachedResourceLoader::revalidateResource
1165        
1166        CachedResourceLoader might get deleted from under one of its methods.
1167        Try to catch a more informative crash stack.
1168
1169        * loader/cache/CachedResourceLoader.cpp:
1170        (WebCore::CachedResourceLoader::CachedResourceLoader):
1171        (WebCore::CachedResourceLoader::~CachedResourceLoader):
1172        (WebCore::CachedResourceLoader::requestImage):
1173        (WebCore::CachedResourceLoader::requestUserCSSStyleSheet):
1174        (WebCore::CachedResourceLoader::requestResource):
1175        (WebCore::CachedResourceLoader::setAutoLoadImages):
1176        (WebCore::CachedResourceLoader::load):
1177        (WebCore::CachedResourceLoader::loadDone):
1178        (WebCore::CachedResourceLoader::preload):
1179        (WebCore::CachedResourceLoader::requestPreload):
1180        * loader/cache/CachedResourceLoader.h:
1181
11822011-02-15  Andreas Kling  <kling@webkit.org>
1183
1184        Reviewed by Darin Adler.
1185
1186        Optimize Color::serialized()
1187        https://bugs.webkit.org/show_bug.cgi?id=54452
1188
1189        Apply the optimizations from CSSPrimitiveValue::cssText() [CSS_RGBCOLOR]
1190        to Color::serialized() - build the serialized color strings manually
1191        instead of using String::format().
1192
1193        * platform/graphics/Color.cpp:
1194        (WebCore::appendHexNumber):
1195        (WebCore::Color::serialized):
1196
11972011-02-15  Jarred Nicholls  <jarred@sencha.com>
1198
1199        Reviewed by Alexey Proskuryakov.
1200
1201        XMLHttpRequest::abort() doesn't clear response data
1202        https://bugs.webkit.org/show_bug.cgi?id=54118
1203
1204        Properly clear all buffer data on abort, so no memory hangs around unnecessarily.
1205
1206        No new tests because there is no observable effect except for less memory used.
1207
1208        * xml/XMLHttpRequest.cpp:
1209        (WebCore::XMLHttpRequest::abort):
1210
12112011-02-15  Andreas Kling  <kling@webkit.org>
1212
1213        Reviewed by Darin Adler.
1214
1215        Rename Color::name() to Color::nameForRenderTreeAsText()
1216        https://bugs.webkit.org/show_bug.cgi?id=54464
1217
1218        Color::name() returns the color as either #RRGGBB or #RRGGBBAA.
1219        Since the latter is not a valid CSS color, it can't be re-parsed
1220        by WebKit, and should only be used in DRT dumps.
1221
1222        * editing/ApplyStyleCommand.cpp:
1223        (WebCore::StyleChange::extractTextStyles):
1224        * page/DragController.cpp:
1225        (WebCore::DragController::concludeEditDrag):
1226        * platform/graphics/Color.cpp:
1227        (WebCore::Color::nameForRenderTreeAsText):
1228        * platform/graphics/Color.h:
1229        * platform/graphics/GraphicsLayer.cpp:
1230        (WebCore::GraphicsLayer::dumpProperties):
1231        * platform/graphics/filters/FEFlood.cpp:
1232        (WebCore::FEFlood::externalRepresentation):
1233        * rendering/RenderTreeAsText.cpp:
1234        (WebCore::RenderTreeAsText::writeRenderObject):
1235        * rendering/svg/SVGRenderTreeAsText.cpp:
1236        (WebCore::operator<<):
1237        (WebCore::writeRenderSVGTextBox):
1238        * svg/SVGAnimateElement.cpp:
1239        (WebCore::SVGAnimateElement::applyResultsToTarget):
1240        * svg/SVGColor.cpp:
1241        (WebCore::SVGColor::cssText):
1242
12432011-02-15  Andras Becsi  <abecsi@webkit.org>
1244
1245        Rubber-stamped by Andreas Kling.
1246
1247        [Qt] Typo fix.
1248
1249        No new tests needed.
1250
1251        * WebCore.pro: add missing ASCII to header name.
1252
12532011-02-15  Pavel Feldman  <pfeldman@chromium.org>
1254
1255        Reviewed by Yury Semikhatsky.
1256
1257        Web Inspector: test whether inspector gets populated with databases and storages upon opening.
1258        https://bugs.webkit.org/show_bug.cgi?id=54469
1259
1260        Tests: http/tests/inspector-enabled/database-open.html
1261               http/tests/inspector-enabled/dom-storage-open.html
1262
1263        * inspector/front-end/DOMStorage.js:
1264        * inspector/front-end/Database.js:
1265        (WebInspector.DatabaseDispatcher.prototype.addDatabase):
1266
12672011-02-15  Andreas Kling  <kling@webkit.org>
1268
1269        Reviewed by Darin Adler.
1270
1271        Share the helper functions used by Latin-1 and UTF-8 text codecs
1272        https://bugs.webkit.org/show_bug.cgi?id=54446
1273
1274        Move MachineWord, UCharByteFiller and the other helper functions
1275        into TextCodecASCIIFastPath.h where they can be used by both
1276        TextCodecUTF8 and TextCodecLatin1.
1277
1278        * GNUmakefile.am:
1279        * WebCore.gypi:
1280        * WebCore.pro:
1281        * WebCore.vcproj/WebCore.vcproj:
1282        * WebCore.xcodeproj/project.pbxproj:
1283        * platform/text/TextCodecASCIIFastPath.h: Added.
1284        (WebCore::isAllASCII):
1285        (WebCore::copyASCIIMachineWord):
1286        (WebCore::isAlignedToMachineWord):
1287        (WebCore::alignToMachineWord):
1288        * platform/text/TextCodecLatin1.cpp:
1289        (WebCore::TextCodecLatin1::decode):
1290        * platform/text/TextCodecUTF8.cpp:
1291        (WebCore::TextCodecUTF8::decode):
1292
12932011-02-15  Leo Yang  <leo.yang@torchmobile.com.cn>
1294
1295        Reviewed by Kent Tamura.
1296
1297        Code style issue in WebCore/dom/InputElement.cpp
1298        https://bugs.webkit.org/show_bug.cgi?id=54428
1299
1300        Remove 2 extra spaces in InputElement.cpp line 221.
1301
1302        Code style fix, No new tests.
1303
1304        * dom/InputElement.cpp:
1305        (WebCore::InputElement::handleBeforeTextInsertedEvent):
1306
13072011-02-15  Philippe Normand  <pnormand@igalia.com>
1308
1309        Reviewed by Martin Robinson.
1310
1311        [GStreamer] Video player sets system volume to 100%
1312        https://bugs.webkit.org/show_bug.cgi?id=54140
1313
1314        Don't explicitely set volume at startup and use the
1315        GstStreamVolume interface with cubic volume scale when
1316        updating/retrieving the volume value. This gives a much better
1317        user-experience.
1318
1319        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
1320        (WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin):
1321
13222011-02-15  Adam Barth  <abarth@webkit.org>
1323
1324        Reviewed by Eric Seidel.
1325
1326        Sketch script-src for Content Security Policy
1327        https://bugs.webkit.org/show_bug.cgi?id=54381
1328
1329        This patch provides a sketch of the script-src directive.  We still do
1330        not parse the value of the directive, and the wiring into the rest of
1331        WebCore is incorrect, but those are things we can fix in future
1332        patches.  For the momemnt, this patch lets us test what we're doing.
1333
1334        Test: http/tests/security/contentSecurityPolicy/script-loads-with-img-src.html
1335
1336        * page/ContentSecurityPolicy.cpp:
1337        (WebCore::CSPDirective::CSPDirective):
1338        (WebCore::CSPDirective::allows):
1339        (WebCore::ContentSecurityPolicy::didReceiveHeader):
1340        (WebCore::ContentSecurityPolicy::canLoadExternalScriptFromSrc):
1341        (WebCore::ContentSecurityPolicy::parse):
1342        (WebCore::ContentSecurityPolicy::emitDirective):
1343        * page/ContentSecurityPolicy.h:
1344
13452011-02-15  Antti Koivisto  <antti@apple.com>
1346
1347        Reviewed by Andreas Kling.
1348
1349        svg/custom/use-css-no-effect-on-shadow-tree.svg produces empty image on Chromium Linux after r58556
1350        https://bugs.webkit.org/show_bug.cgi?id=54460
1351        
1352        Don't use fast path for SVG. There are some additional rules for shadow trees that are not
1353        implemented on fast path.
1354        
1355        * css/CSSStyleSelector.cpp:
1356        (WebCore::CSSStyleSelector::checkSelector):
1357
13582011-02-15  Andras Becsi  <abecsi@webkit.org>
1359
1360        Reviewed by Csaba Osztrogonác.
1361
1362        [Qt] Redesign the build system
1363        https://bugs.webkit.org/show_bug.cgi?id=51339
1364
1365        Part 1.
1366
1367        Introduce CodeGenerators.pri and add common includepaths to WebCore.pri,
1368        thus unnecessary duplications can be removed from project files.
1369
1370        No new tests needed.
1371
1372        * CodeGenerators.pri: Copied from Source/WebCore/WebCore.pri.
1373        Don't add non-source generated files to SOURCES.
1374        * DerivedSources.pro: Change WebCore.pri to CodeGenerators.pri.
1375        * WebCore.pri: Move code generation rules to CodeGenerators.pri.
1376        * WebCore.pro: Move common options to WebCore.pri.
1377
13782011-02-15  Charlie Reis  <creis@chromium.org>
1379
1380        Reviewed by Mihai Parparita.
1381
1382        Crash in WebCore::FrameLoader::continueLoadAfterNavigationPolicy
1383        https://bugs.webkit.org/show_bug.cgi?id=54219
1384
1385        Ensures we do not start a new navigation while we are in the process of
1386        stopping a navigation.  Also adds a manual test, since the crash can
1387        only be reproduced using the back button and not history.back().
1388
1389        * loader/FrameLoader.cpp:
1390        * manual-tests/navigation-during-onload-triggered-by-back.html: Added.
1391        * manual-tests/resources/navigation-during-onload-container.html: Added.
1392
13932011-02-15  Bill Budge  <bbudge@chromium.org>
1394
1395        Reviewed by David Levin.
1396
1397        SubresourceLoader should expose finish time
1398        https://bugs.webkit.org/show_bug.cgi?id=54287
1399
1400        No tests needed, exposes no new functionality
1401
1402        * loader/DocumentThreadableLoader.cpp:
1403        (WebCore::DocumentThreadableLoader::didFinishLoading):
1404        * loader/DocumentThreadableLoader.h:
1405        * loader/SubresourceLoader.cpp:
1406        (WebCore::SubresourceLoader::didFinishLoading):
1407        * loader/SubresourceLoaderClient.h:
1408        (WebCore::SubresourceLoaderClient::didFinishLoading):
1409        * loader/cache/CachedResourceRequest.cpp:
1410        (WebCore::CachedResourceRequest::didFinishLoading):
1411        * loader/cache/CachedResourceRequest.h:
1412        * loader/icon/IconLoader.cpp:
1413        (WebCore::IconLoader::didFinishLoading):
1414        * loader/icon/IconLoader.h:
1415
14162011-02-15  Antti Koivisto  <antti@apple.com>
1417
1418        Reviewed by Darin Adler.
1419
1420        Enable fast path selector checking for child and subselector combinators
1421        https://bugs.webkit.org/show_bug.cgi?id=54360
1422
1423        * css/CSSStyleSelector.cpp:
1424        (WebCore::isFastCheckableSelector):
1425        (WebCore::fastCheckSingleSelector):
1426        (WebCore::checkClassValue):
1427        (WebCore::checkIdValue):
1428        (WebCore::checkTagValue):
1429        (WebCore::CSSStyleSelector::SelectorChecker::fastCheckSelector):
1430
14312011-02-15  Yury Semikhatsky  <yurys@chromium.org>
1432
1433        Reviewed by Pavel Feldman.
1434
1435        Web Inspector: console auto-scroll is broken when there are both scrollers.
1436        https://bugs.webkit.org/show_bug.cgi?id=54273
1437
1438        * inspector/front-end/utilities.js:
1439        (Element.prototype.isScrolledToBottom): use clientHeight instead of offsetHeight to determine
1440        whether the element is scrolled to the bottom.
1441
14422011-02-14  Alexander Pavlov  <apavlov@chromium.org>
1443
1444        Reviewed by Yury Semikhatsky.
1445
1446        Web Inspector: highlighter works incorrect at build.chromium.org WebKit cells
1447        https://bugs.webkit.org/show_bug.cgi?id=53910
1448
1449        Use enclosingBoundingBox for the absolute margin quad as the reference box for a tooltip.
1450
1451        * inspector/InspectorAgent.cpp:
1452        (WebCore::InspectorAgent::drawNodeHighlight):
1453
14542011-02-15  Dirk Schulze  <krit@webkit.org>
1455
1456        Rubber-stamped by Nikolas Zimmermann.
1457
1458        SVG animation doesn't support attribute value 'inherit'
1459        https://bugs.webkit.org/show_bug.cgi?id=54410
1460
1461        Accidently replaced start value RegularPropertyValue for m_fromPropertyValueType
1462        and m_toPropertyValueType by CurrentColorValue before landing. Check for property
1463        value type 'inherit' on color validation was missing.
1464
1465        * svg/SVGAnimateElement.cpp:
1466        (WebCore::SVGAnimateElement::calculateFromAndToValues):
1467        (WebCore::SVGAnimateElement::calculateFromAndByValues):
1468
14692011-02-15  Adam Roben  <aroben@apple.com>
1470
1471        Windows build fix after r78533
1472
1473        * WebCore.vcproj/WebCore.vcproj: Fix bad XML syntax.
1474
14752011-02-15  Gavin Peters  <gavinp@chromium.org>
1476
1477        Reviewed by Antti Koivisto.
1478
1479        SharedBuffer::buffer() does not do what you think.
1480        https://bugs.webkit.org/show_bug.cgi?id=54420
1481
1482        No new tests.
1483
1484        * inspector/InspectorResourceAgent.cpp:
1485        (WebCore::InspectorResourceAgent::resourceContentBase64):
1486        * platform/SharedBuffer.h:
1487        * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
1488        (WebCore::JPEGImageReader::decode):
1489        (WebCore::JPEGImageDecoder::decode):
1490        * platform/image-decoders/webp/WEBPImageDecoder.cpp:
1491        (WebCore::WEBPImageDecoder::decode):
1492
14932011-02-15  Dirk Schulze  <krit@webkit.org>
1494
1495        Reviewed by Nikolas Zimmermann.
1496
1497        SVG animation doesn't support attribute value 'inherit'
1498        https://bugs.webkit.org/show_bug.cgi?id=54410
1499
1500        SVG animation does not support 'inherit' as value for CSS property animations. With the patch, SVG determines
1501        if the attribute of the target element is an animatable CSS Property and computes the style during the
1502        animation.
1503
1504        This fixes the following tests on the W3C test suite:
1505        * animate-elem-84-t.svg
1506        * animate-elem-85-t.svg
1507
1508        Tests: svg/animations/animate-currentColor.html
1509               svg/animations/animate-inherit-css-property.html
1510
1511        * svg/SVGAnimateElement.cpp:
1512        (WebCore::adjustForCurrentColor):
1513        (WebCore::adjustForInheritance):
1514        (WebCore::SVGAnimateElement::calculateAnimatedValue): When a property value is 'inherit' or 'currentColor'
1515        during the animation, get the computed style of the property since the values could be animated themselves.
1516        (WebCore::inheritsFromProperty):
1517        (WebCore::attributeValueIsCurrentColor):
1518        (WebCore::SVGAnimateElement::calculateFromAndToValues): Check if 'from', 'by' or 'to' value has the
1519        string 'inherit' or 'currentColor' and if the attribute supports one of these values.
1520        (WebCore::SVGAnimateElement::calculateFromAndByValues): Ditto.
1521        * svg/SVGAnimateElement.h:
1522        * svg/SVGAnimationElement.cpp:
1523        (WebCore::SVGAnimationElement::isTargetAttributeCSSProperty): Check if target element is stylable and
1524        the attribute is an animatable CSS property by using the CSS property map in SVGStyledElement.
1525        (WebCore::SVGAnimationElement::setTargetAttributeAnimatedValue): s/target/targetElement/ for consistency.
1526        * svg/SVGAnimationElement.h:
1527        * svg/SVGStyledElement.cpp: 
1528        (WebCore::SVGStyledElement::isAnimatableCSSProperty): Checks if the CSS property is animatable.
1529        * svg/SVGStyledElement.h:
1530        * svg/animation/SMILTimeContainer.cpp: Use the new function isTargetAttributeCSSProperty to determine
1531        if the target element is stylable and the attribute is an animatable CSS property.
1532        (WebCore::SMILTimeContainer::baseValueFor):
1533
15342011-02-15  Antti Koivisto  <antti@apple.com>
1535
1536        Reviewed by Andreas Kling.
1537
1538        r78499 causes assertion failure in http/tests/xmlhttprequest/cache-override.html
1539        https://bugs.webkit.org/show_bug.cgi?id=54418
1540        
1541        Check for zero buffer length.
1542
1543        * platform/text/TextCodecUTF8.cpp:
1544        (WebCore::TextCodecUTF8::decode):
1545
15462011-02-15  MORITA Hajime  <morrita@google.com>
1547
1548        Unreviewed build fix.
1549
1550        * page/EditorClient.h: Changed GrammarDetail forward declaration from class to struct.
1551
15522011-01-26  MORITA Hajime  <morrita@google.com>
1553
1554        Reviewed by Ryosuke Niwa.
1555
1556        Refactoring: Extract TextCheckerClient from EditorClient
1557        https://bugs.webkit.org/show_bug.cgi?id=53213
1558        
1559        Created new abstract class TextCheckerClient. The class has
1560        spellcheck related API which is split.
1561        This is the first step for sharing spell-checking codebase
1562        between ports. A standalone TextCheckerClient implementation
1563        should be done in future changes.
1564
1565        No new tests. No behavioral change.
1566
1567        * GNUmakefile.am:
1568        * WebCore.gypi:
1569        * WebCore.pro:
1570        * WebCore.vcproj/WebCore.vcproj:
1571        * WebCore.xcodeproj/project.pbxproj:
1572        * accessibility/mac/AccessibilityObjectWrapper.mm:
1573        (AXAttributeStringSetSpelling):
1574        * editing/Editor.cpp: Replacing some client() call with textChecker().
1575        (WebCore::Editor::textChecker): Added.
1576        (WebCore::Editor::ignoreSpelling):
1577        (WebCore::Editor::learnSpelling):
1578        (WebCore::Editor::isSelectionMisspelled):
1579        (WebCore::Editor::guessesForMisspelledSelection):
1580        (WebCore::Editor::markMisspellingsAfterTypingToWord):
1581        (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
1582        (WebCore::Editor::correctionPanelTimerFired):
1583        * editing/Editor.h:
1584        * editing/SpellChecker.cpp:
1585        (WebCore::SpellChecker::SpellChecker):
1586        * editing/TextCheckingHelper.cpp: Replacing some client() call with textChecker().
1587        (WebCore::TextCheckingHelper::findFirstMisspelling):
1588        (WebCore::TextCheckingHelper::findFirstMisspellingOrBadGrammar):
1589        (WebCore::TextCheckingHelper::findFirstBadGrammar):
1590        (WebCore::TextCheckingHelper::guessesForMisspelledOrUngrammaticalRange):
1591        * loader/EmptyClients.h: Added EmptyTextCheckerClient.
1592        (WebCore::EmptyTextCheckerClient::ignoreWordInSpellDocument):
1593        (WebCore::EmptyTextCheckerClient::learnWord):
1594        (WebCore::EmptyTextCheckerClient::checkSpellingOfString):
1595        (WebCore::EmptyTextCheckerClient::getAutoCorrectSuggestionForMisspelledWord):
1596        (WebCore::EmptyTextCheckerClient::checkGrammarOfString):
1597        (WebCore::EmptyTextCheckerClient::checkTextOfParagraph):
1598        (WebCore::EmptyTextCheckerClient::getGuessesForWord):
1599        (WebCore::EmptyTextCheckerClient::requestCheckingOfString):
1600        (WebCore::EmptyEditorClient::textChecker):
1601        * page/EditorClient.h: Extracted TextCheckerClient.
1602        * page/Page.h:
1603        * platform/text/TextCheckerClient.h: Added.
1604        (WebCore::TextCheckerClient::~TextCheckerClient):
1605
16062011-02-07  Ryosuke Niwa  <rniwa@webkit.org>
1607
1608        Reviewed by Adam Barth.
1609
1610        Add EditorClient callbacks to override isDOMPasteAllowed and javaScriptCanAccessClipboard
1611        https://bugs.webkit.org/show_bug.cgi?id=52417
1612
1613        Added two callback functions, canCopyCut and canPaste to EditorClient. These functions
1614        returns true iff the current frame should be able to copy/cut and paste respectively.
1615        They take the default value determined by isDOMPasteAllowed and javaScriptCanAccessClipboard.
1616
1617        These callbacks allows embedders to decide whether or not copy/cut/paste should be enabled
1618        per frame and thus per origin rather than per page.
1619
1620        No new tests are added since this is a WebKit/WebCore interface change.
1621
1622        * editing/EditorCommand.cpp:
1623        (WebCore::supportedCopyCut): Calls canCopyCut.
1624        (WebCore::supportedPaste): Calls canPaste.
1625        * loader/EmptyClients.h:
1626        (WebCore::EmptyEditorClient::canCopyCut): Added.
1627        (WebCore::EmptyEditorClient::canPaste): Added.
1628        * page/EditorClient.h:
1629
16302011-02-14  Jeremy Orlow  <jorlow@chromium.org>
1631
1632        efl build fix
1633
1634        * CMakeLists.txt:
1635
16362011-02-11  Jeremy Orlow  <jorlow@chromium.org>
1637
1638        Reviewed by Nate Chapin.
1639
1640        Finish up implementing the new event model in IndexedDB
1641        https://bugs.webkit.org/show_bug.cgi?id=54331
1642
1643        We shouldn't have our own event subclasses. Instead, we
1644        should just fire Event's with the proper type and bubble
1645        settings. All the attributes on the events before should
1646        just be on the request. IDBRequest should throw if they're
1647        accessed before the success event fires.
1648
1649        * WebCore.gypi:
1650        * bindings/generic/RuntimeEnabledFeatures.h:
1651        * bindings/js/JSEventCustom.cpp:
1652        (WebCore::toJS):
1653        * bindings/v8/custom/V8EventCustom.cpp:
1654        (WebCore::toV8):
1655        * dom/Event.cpp:
1656        * dom/Event.h:
1657        * page/DOMWindow.idl:
1658        * storage/IDBAbortEvent.h: Removed.
1659        * storage/IDBCompleteEvent.cpp: Removed.
1660        * storage/IDBCompleteEvent.h: Removed.
1661        * storage/IDBDatabase.cpp:
1662        (WebCore::IDBDatabase::~IDBDatabase):
1663        * storage/IDBDatabaseException.h:
1664        * storage/IDBDatabaseException.idl:
1665        * storage/IDBErrorEvent.cpp: Removed.
1666        * storage/IDBErrorEvent.h: Removed.
1667        * storage/IDBErrorEvent.idl: Removed.
1668        * storage/IDBEvent.h: Removed.
1669        * storage/IDBEvent.idl: Removed.
1670        * storage/IDBEventDispatcher.cpp:
1671        (WebCore::IDBEventDispatcher::dispatch):
1672        * storage/IDBRequest.cpp:
1673        (WebCore::IDBRequest::IDBRequest):
1674        (WebCore::IDBRequest::result):
1675        (WebCore::IDBRequest::errorCode):
1676        (WebCore::IDBRequest::webkitErrorMessage):
1677        (WebCore::IDBRequest::source):
1678        (WebCore::IDBRequest::transaction):
1679        (WebCore::IDBRequest::readyState):
1680        (WebCore::IDBRequest::resetReadyState):
1681        (WebCore::IDBRequest::onError):
1682        (WebCore::createSuccessEvent):
1683        (WebCore::IDBRequest::onSuccess):
1684        (WebCore::IDBRequest::dispatchEvent):
1685        * storage/IDBRequest.h:
1686        * storage/IDBRequest.idl:
1687        * storage/IDBSuccessEvent.cpp: Removed.
1688        * storage/IDBSuccessEvent.h: Removed.
1689        * storage/IDBSuccessEvent.idl: Removed.
1690        * storage/IDBTransaction.cpp:
1691        (WebCore::IDBTransaction::onAbort):
1692        (WebCore::IDBTransaction::onComplete):
1693        (WebCore::IDBTransaction::dispatchEvent):
1694
16952011-02-14  Enrica Casucci  <enrica@apple.com>
1696
1697        Copy/paste from a WebKit window to a TextEdit window loses fonts.
1698        <rdar://problem/8623090>
1699        https://bugs.webkit.org/show_bug.cgi?id=54416
1700        
1701        Reviewed by Dan Bernstein.
1702        
1703        We don't have the complete solution that fixes this problem for WebKit2 yet.
1704        This patch fixes the regression in WebKit.
1705
1706        * platform/mac/PasteboardMac.mm:
1707        (WebCore::Pasteboard::writeSelection): For WebKit2 use only plain text,
1708        for WebKit use the original API to create the NSAttributedString.
1709
17102011-02-14  Levi Weintraub  <leviw@chromium.org>
1711
1712        Reviewed by Alexey Proskuryakov.
1713
1714        Strikethrough disappears when posting a message on odnoklassniki.ru
1715        https://bugs.webkit.org/show_bug.cgi?id=53475
1716
1717        Changing the behavior of the strikethrough execCommand when styleWithCSS
1718        is false. We formerly created <s> tags, which was different than both IE
1719        and FF and caused problems with some rich text editors that would strip
1720        out unexpected tags such as <s>.
1721
1722        Test: editing/execCommand/strikethrough-uses-strike-tag.html
1723
1724        * editing/ApplyStyleCommand.cpp:
1725        (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded):
1726
17272011-02-14  Pratik Solanki  <psolanki@apple.com>
1728
1729        Remove dead code in FormDataStreamCFNet.cpp
1730        https://bugs.webkit.org/show_bug.cgi?id=54401
1731
1732        Reviewed by Darin Adler.
1733
1734        The static functions in this file are no longer reachable. We added a conditional branch to
1735        use new CFNetwork functions in r30329 and later made that code path permanent in r41517
1736        which made these functions unreachable.
1737
1738        * platform/network/cf/FormDataStreamCFNet.cpp:
1739
17402011-02-14  Andreas Kling  <kling@webkit.org>
1741
1742        Reviewed by Darin Adler.
1743
1744        GraphicsContext: Add clip(IntRect) overload for Qt
1745        https://bugs.webkit.org/show_bug.cgi?id=54365
1746
1747        Qt has special code paths for clipping to integer rectangles.
1748        Add a GraphicsContext::clip() overload to allow us to take
1749        advantage of the optimized code.
1750
1751        * platform/graphics/GraphicsContext.cpp:
1752        (WebCore::GraphicsContext::clip):
1753        * platform/graphics/GraphicsContext.h:
1754        * platform/graphics/qt/GraphicsContextQt.cpp:
1755        (WebCore::GraphicsContext::clip):
1756
17572011-02-14  Darin Adler  <darin@apple.com>
1758
1759        Reviewed by Alexey Proskuryakov.
1760
1761        Add built-in decoder for UTF-8 for improved performance
1762        https://bugs.webkit.org/show_bug.cgi?id=53898
1763
1764        Covered by existing tests; not adding new tests at this time.
1765
1766        This patch now handles errors in the same way the existing codecs do,
1767        and so passes our tests. The first version failed some tests because
1768        of incorrect error handling. The second version was missing one line
1769        of code that made it decode incomplete sequences at the end of the
1770        buffer twice.
1771
1772        * platform/text/TextCodecICU.cpp:
1773        (WebCore::create): Renamed from newTextCodecICU, made a static member
1774        function, and added a call to adoptPtr.
1775        (WebCore::TextCodecICU::registerEncodingNames): Renamed from
1776        registerExtendedEncodingNames since this class is no longer used for
1777        base codecs. Removed aliases for UTF-8; now handled by TextCodecUTF8.
1778        (WebCore::TextCodecICU::registerCodecs): Renamed.
1779        (WebCore::fallbackForGBK): Renamed to conform to our current style.
1780
1781        * platform/text/TextCodecICU.h: Updated for above changes. Changed
1782        indentation. Made most functions private, including virtual function
1783        overrides. Marked ICUConverterWrapper noncopyable.
1784
1785        * platform/text/TextCodecUTF8.cpp:
1786        (WebCore::TextCodecUTF8::registerEncodingNames): Added the UTF-8 aliases
1787        that were formerly added by TextCodecICU.
1788        (WebCore::nonASCIISequenceLength): Fixed bug where this would return 4 for
1789        bytes F5-FF instead of failing.
1790        (WebCore::decodeNonASCIISequence): Tweaked coding style.
1791        (WebCore::appendCharacter): Added. Makes it easier to share code between
1792        the partial-character handling and main loop.
1793        (WebCore::TextCodecUTF8::decode): Fixed buffer size computation for case
1794        where there is a partial sequence. Fixed partial sequence handling so that
1795        goto is no longer needed, since compilers sometimes make poor code when
1796        goto is involved. Added a loop for partial sequences since we consume only
1797        one byte when a partial sequence is invalid. Fixed logic in main decoding
1798        loop so goto is not needed. Used early-exit style in both loops so the main
1799        flow is not nested inside if statements. Added correct error handling for
1800        flush when a partial sequence remains, which involved wrapping the function
1801        in yet another loop.
1802
1803        * platform/text/TextCodecUTF8.h: Made virtual function overrides private.
1804
1805        * platform/text/TextEncodingRegistry.cpp:
1806        (WebCore::buildBaseTextCodecMaps): Added calls to TextCodecUTF8. Removed
1807        calls to TextCodecICU. Added FIXMEs for other codecs that no longer need
1808        to be included here.
1809        (WebCore::extendTextCodecMaps): Updated for the name change of the
1810        TextCodecICU functions.
1811
18122011-02-14  Adam Barth  <abarth@webkit.org>
1813
1814        Reviewed by Eric Seidel.
1815
1816        Add basic parser for Content Security Policy
1817        https://bugs.webkit.org/show_bug.cgi?id=54379
1818
1819        The parser in this patch is very basic.  It just segments the CSP
1820        header into directives.  The exactly syntax will likely change a bit as
1821        we discuss the details in public-web-security, but this parser will
1822        allow us to make progress.
1823
1824        Sadly, this patch does not contain any tests.  That's because CSP
1825        policies do not have any observable effects yet.  Hopefully we'll get
1826        enough sketched out in the next couple patches to begin writing tests.
1827
1828        * page/ContentSecurityPolicy.cpp:
1829        (WebCore::CSPDirective::CSPDirective):
1830        (WebCore::CSPDirective::name):
1831        (WebCore::CSPDirective::value):
1832        (WebCore::ContentSecurityPolicy::~ContentSecurityPolicy):
1833        (WebCore::ContentSecurityPolicy::didReceiveHeader):
1834        (WebCore::ContentSecurityPolicy::parse):
1835        * page/ContentSecurityPolicy.h:
1836
18372011-02-14  Andrew Wason  <rectalogic@rectalogic.com>
1838
1839        Reviewed by Kenneth Russell.
1840
1841        [Qt] WebKit fails to compile for Qt when WebGL enabled
1842        https://bugs.webkit.org/show_bug.cgi?id=53431
1843
1844        No new tests.
1845
1846        * WebCore.pro:
1847          Add source and header files and include directory to Qt project.
1848        * html/canvas/WebGLRenderingContext.cpp:
1849          File uses 'emit' which is a Qt keyword - #undef emit.
1850        * platform/graphics/gpu/qt: Added.
1851        * platform/graphics/gpu/qt/DrawingBufferQt.cpp: Added.
1852          Partial implementation of DrawingBuffer for Qt.
1853        (WebCore::DrawingBuffer::DrawingBuffer):
1854        (WebCore::DrawingBuffer::~DrawingBuffer):
1855        (WebCore::DrawingBuffer::didReset):
1856        (WebCore::DrawingBuffer::platformLayer):
1857        (WebCore::DrawingBuffer::platformColorBuffer):
1858        * platform/graphics/qt/Extensions3DQt.cpp:
1859          Noop implementation for pure virtual methods added to Extensions3D.h
1860        (WebCore::Extensions3DQt::blitFramebuffer):
1861        (WebCore::Extensions3DQt::renderbufferStorageMultisample):
1862        * platform/graphics/qt/Extensions3DQt.h:
1863          Declare new methods added to Extensions3D.h
1864        * platform/graphics/qt/GraphicsContext3DQt.cpp:
1865          Remove method implementations no longer in GraphicsContext3D.h.
1866          Change m_syntheticErrors to use unsigned int to match new
1867          GC3Denum type.
1868        (WebCore::GraphicsContext3D::create):
1869         Change return type to match GraphicsContext3D.h
1870        (WebCore::GraphicsContext3D::lineWidth):
1871         Change argument type to GC3Dfloat to match GraphicsContext3D.h
1872        (WebCore::GraphicsContext3D::getUniformLocation):
1873         Change return type to GC3Dfloat to match GraphicsContext3D.h
1874        (WebCore::GraphicsContext3D::getExtensions):
1875         Need to call get() on OwnPtr.
1876        (WebCore::GraphicsContext3D::getImageData):
1877         Rename enum values to match declarations in GraphicsContext3D.h
1878
18792011-02-14  Tony Chang  <tony@chromium.org>
1880
1881        Reviewed by Dimitri Glazkov.
1882
1883        <select> elements don't honor border:0px in chromium-linux
1884        https://bugs.webkit.org/show_bug.cgi?id=51152
1885
1886        No new tests, covered by existing pixel results (fast/forms/basic-selects.html
1887        convers lots of cases).
1888
1889        * css/themeChromiumLinux.css:
1890        (select):
1891        * platform/chromium/PlatformBridge.h:
1892        * rendering/RenderThemeChromiumLinux.cpp:
1893        (WebCore::RenderThemeChromiumLinux::paintButton):
1894        (WebCore::RenderThemeChromiumLinux::paintMenuList):
1895          match border logic in RenderThemeChromiumWin.cpp:
1896          http://trac.webkit.org/browser/trunk/Source/WebCore/rendering/RenderThemeChromiumWin.cpp#L463
1897
18982011-02-14  Xiaomei Ji  <xji@chromium.org>
1899
1900        Reviewed by Dan Bernstein.
1901
1902        Fix rendering of ISO-8859-8 when dir="rtl".
1903        https://bugs.webkit.org/show_bug.cgi?id=52128
1904
1905        Test: fast/text/international/iso-8859-8.html
1906
1907        * platform/text/BidiResolver.h: Add VisualDirectionOverride enum.
1908        (WebCore::::createBidiRunsForLine): For lines with visual direction override,
1909        create bidi runs without resolving bidi levels (one run per render object), 
1910        set bidi level as 0 or 1 depending on LTR or RTL override, 
1911        and reverse runs for RTL override.
1912        * rendering/RenderBlockLineLayout.cpp:
1913        (WebCore::RenderBlock::constructLine): Set inline box bidi level the same as
1914        BidiRun's bidi level without special handling of VisualDirectionOverride.
1915        (WebCore::RenderBlock::layoutInlineChildren): Pass in VisualDirectionOverride 
1916        to createBidiRunsForLine().
1917
19182011-02-14  Alexis Menard  <alexis.menard@nokia.com>
1919
1920        Reviewed by Andreas Kling.
1921
1922        [Qt] Crash on application exit after constructing and destroying a QWebView twice
1923        https://bugs.webkit.org/show_bug.cgi?id=54000
1924
1925        Check the value is valid before use it.
1926
1927        * platform/qt/SharedTimerQt.cpp:
1928        (WebCore::SharedTimerQt::~SharedTimerQt):
1929
19302011-02-14  Alexander Pavlov  <apavlov@chromium.org>
1931
1932        Reviewed by Yury Semikhatsky.
1933
1934        Web Inspector: 304 Not Modified responses have a yellow icon in Web Inspector Resources panel
1935        https://bugs.webkit.org/show_bug.cgi?id=33220
1936
1937        * inspector/front-end/ResourceHeadersView.js:
1938        (WebInspector.ResourceHeadersView.prototype._refreshHTTPInformation):
1939
19402011-02-14  Adrienne Walker  <enne@google.com>
1941
1942        Reviewed by James Robinson.
1943
1944        [chromium] Modify LayerTilerChromium to use TilingData.
1945        https://bugs.webkit.org/show_bug.cgi?id=54143
1946
1947        Most of the previous data in LayerTilerChromium is now calculated
1948        from TilingData.  TilingData was modified to allow for a dynamic
1949        tile size and page size.  LayerTilerChromium also gets its own
1950        shader with a texture transform to handle drawing from a texture
1951        that is larger than a tile.
1952
1953        * platform/graphics/chromium/LayerChromium.h:
1954        * platform/graphics/chromium/LayerRendererChromium.cpp:
1955        (WebCore::LayerRendererChromium::LayerRendererChromium):
1956        (WebCore::LayerRendererChromium::updateAndDrawRootLayer):
1957        (WebCore::LayerRendererChromium::initializeSharedObjects):
1958        (WebCore::LayerRendererChromium::cleanupSharedObjects):
1959        * platform/graphics/chromium/LayerRendererChromium.h:
1960        (WebCore::LayerRendererChromium::tilerSharedValues):
1961        * platform/graphics/chromium/LayerTilerChromium.cpp:
1962        (WebCore::LayerTilerChromium::create):
1963        (WebCore::LayerTilerChromium::LayerTilerChromium):
1964        (WebCore::LayerTilerChromium::setTileSize):
1965        (WebCore::LayerTilerChromium::reset):
1966        (WebCore::LayerTilerChromium::contentRectToTileIndices):
1967        (WebCore::LayerTilerChromium::tileIndex):
1968        (WebCore::LayerTilerChromium::tileContentRect):
1969        (WebCore::LayerTilerChromium::tileLayerRect):
1970        (WebCore::LayerTilerChromium::layerSize):
1971        (WebCore::LayerTilerChromium::layerTileSize):
1972        (WebCore::LayerTilerChromium::invalidateEntireLayer):
1973        (WebCore::LayerTilerChromium::draw):
1974        (WebCore::LayerTilerChromium::resizeLayer):
1975        (WebCore::LayerTilerChromium::growLayerToContain):
1976        (WebCore::LayerTilerChromium::drawTexturedQuad):
1977        (WebCore::LayerTilerChromium::SharedValues::SharedValues):
1978        (WebCore::LayerTilerChromium::SharedValues::~SharedValues):
1979        * platform/graphics/chromium/LayerTilerChromium.h:
1980        (WebCore::LayerTilerChromium::SharedValues::tilerShaderProgram):
1981        (WebCore::LayerTilerChromium::SharedValues::shaderSamplerLocation):
1982        (WebCore::LayerTilerChromium::SharedValues::shaderMatrixLocation):
1983        (WebCore::LayerTilerChromium::SharedValues::shaderAlphaLocation):
1984        (WebCore::LayerTilerChromium::SharedValues::shaderTexTransformLocation):
1985        (WebCore::LayerTilerChromium::SharedValues::initialized):
1986        * platform/graphics/gpu/TilingData.cpp:
1987        (WebCore::computeNumTiles):
1988        (WebCore::TilingData::TilingData):
1989        (WebCore::TilingData::setTotalSize):
1990        (WebCore::TilingData::setMaxTextureSize):
1991        (WebCore::TilingData::tileSizeX):
1992        (WebCore::TilingData::tileSizeY):
1993        (WebCore::TilingData::textureOffset):
1994        (WebCore::TilingData::recomputeNumTiles):
1995        * platform/graphics/gpu/TilingData.h:
1996
19972011-02-14  Andrey Adaikin  <aandrey@google.com>
1998
1999        Reviewed by Pavel Feldman.
2000
2001        Web Inspector: [Text editor] First implementation of the editable TextViewer without optimization
2002        https://bugs.webkit.org/show_bug.cgi?id=54388
2003
2004        * inspector/front-end/TextViewer.js:
2005        (WebInspector.TextViewer.prototype.set readOnly):
2006        (WebInspector.TextEditorChunkedPanel):
2007        (WebInspector.TextEditorChunkedPanel.prototype._buildChunks):
2008        (WebInspector.TextEditorChunkedPanel.prototype.makeLineAChunk):
2009        (WebInspector.TextEditorChunkedPanel.prototype.beginDomUpdates):
2010        (WebInspector.TextEditorChunkedPanel.prototype.endDomUpdates):
2011        (WebInspector.TextEditorChunkedPanel.prototype._repaintAll):
2012        (WebInspector.TextEditorGutterChunk.prototype.set expanded):
2013        (WebInspector.TextEditorMainPanel):
2014        (WebInspector.TextEditorMainPanel.prototype.set readOnly):
2015        (WebInspector.TextEditorMainPanel.prototype._buildChunks):
2016        (WebInspector.TextEditorMainPanel.prototype._highlightDataReady):
2017        (WebInspector.TextEditorMainPanel.prototype._paintLine):
2018        (WebInspector.TextEditorMainPanel.prototype.textChanged):
2019        (WebInspector.TextEditorMainPanel.prototype._handleDOMUpdates.return):
2020        (WebInspector.TextEditorMainPanel.prototype._handleDOMUpdates):
2021        (WebInspector.TextEditorMainPanel.prototype._handleDOMSubtreeModified):
2022        (WebInspector.TextEditorMainPanel.prototype._applyDomUpdates):
2023        (WebInspector.TextEditorMainPanel.prototype._collectLinesFromDiv):
2024        (WebInspector.TextEditorMainChunk.prototype.addDecoration):
2025        (WebInspector.TextEditorMainChunk.prototype.removeDecoration):
2026        (WebInspector.TextEditorMainChunk.prototype.set expanded):
2027
20282011-02-14  Pavel Podivilov  <podivilov@chromium.org>
2029
2030        Reviewed by Yury Semikhatsky.
2031
2032        Web Inspector: use call frame column to determine execution line in source frame.
2033        https://bugs.webkit.org/show_bug.cgi?id=54001
2034
2035        - Make call frame line and column zero based
2036        - Set execution line in source frame based on call frame line:column
2037        - Determine currently hit breakpoint based on call frame line:column
2038
2039        * bindings/js/JavaScriptCallFrame.cpp:
2040        (WebCore::JavaScriptCallFrame::JavaScriptCallFrame):
2041        * bindings/js/JavaScriptCallFrame.h:
2042        (WebCore::JavaScriptCallFrame::create):
2043        (WebCore::JavaScriptCallFrame::line):
2044        (WebCore::JavaScriptCallFrame::column):
2045        (WebCore::JavaScriptCallFrame::update):
2046        * bindings/js/ScriptDebugServer.cpp:
2047        (WebCore::ScriptDebugServer::createCallFrameAndPauseIfNeeded):
2048        (WebCore::ScriptDebugServer::updateCallFrameAndPauseIfNeeded):
2049        * bindings/v8/DebuggerScript.js:
2050        ():
2051        * inspector/front-end/BreakpointsSidebarPane.js:
2052        (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._debuggerPaused):
2053        * inspector/front-end/CallStackSidebarPane.js:
2054        (WebInspector.CallStackSidebarPane.prototype.update):
2055        * inspector/front-end/DebuggerModel.js:
2056        (WebInspector.DebuggerModel.prototype.continueToLocation):
2057        (WebInspector.DebuggerModel.prototype._pausedScript):
2058        (WebInspector.DebuggerModel.prototype._breakpointForCallFrame):
2059        * inspector/front-end/ScriptsPanel.js:
2060        (WebInspector.ScriptsPanel.prototype._debuggerPaused):
2061        (WebInspector.ScriptsPanel.prototype._clearCurrentExecutionLine):
2062        (WebInspector.ScriptsPanel.prototype._callFrameSelected):
2063        * inspector/front-end/SourceFrame.js:
2064        (WebInspector.SourceFrame.prototype._setTextViewerDecorations):
2065        (WebInspector.SourceFrame.prototype.setExecutionLocation):
2066        (WebInspector.SourceFrame.prototype.clearExecutionLocation):
2067        (WebInspector.SourceFrame.prototype._setExecutionLocation):
2068        (WebInspector.SourceFrame.prototype._breakpointAdded):
2069        (WebInspector.SourceFrame.prototype._continueToLine):
2070        (WebInspector.SourceFrame.prototype._originalLocationToTextViewerLineNumber):
2071
20722011-02-14  Christian Dywan  <christian@lanedo.com>
2073
2074        Reviewed by Gustavo Noronha Silva.
2075
2076        Regression: Back, Forward, Reload hidden in context menu
2077        https://bugs.webkit.org/show_bug.cgi?id=54393
2078
2079        * page/ContextMenuController.cpp: Always show Back, Forward,
2080            Reload and Stop context menu items for the GTK+ port.
2081
20822011-02-14  Johnny Ding  <jnd@chromium.org>
2083
2084        Reviewed by Andreas Kling.
2085
2086        Move the finiteness check into common code.
2087
2088        Test covered by canvas/philip/tests/2d.path.isPointInPath.nonfinite.html
2089
2090        * html/canvas/CanvasRenderingContext2D.cpp:
2091        (WebCore::CanvasRenderingContext2D::isPointInPath):
2092
20932011-02-14  Roland Steiner  <rolandsteiner@chromium.org>
2094
2095        Reviewed by Kent Tamura.
2096
2097        Bug 54377 - Clean up RenderTextControlSingleLine::createSubtreeIfNeeded()
2098        https://bugs.webkit.org/show_bug.cgi?id=54377
2099
2100        Rearranged the condition blocks, removed superfluous conditions:
2101        .) if-statements where it's already clear that a search field is being generated
2102        .) testing for spin-buttons on field types that can never have them.
2103
2104        createInnerBlockStyle(): only search fields create an inner block, and
2105        these can never have spin buttons.
2106
2107        No new tests. (Refactoring - covered by existing tests)
2108
2109        * rendering/RenderTextControlSingleLine.cpp:
2110        (WebCore::RenderTextControlSingleLine::createInnerBlockStyle):
2111        (WebCore::RenderTextControlSingleLine::createSubtreeIfNeeded):
2112
21132011-02-10  Pavel Podivilov  <podivilov@chromium.org>
2114
2115        Reviewed by Yury Semikhatsky.
2116
2117        Web Inspector: refactoring, extract SourceMapping from SourceFrameContent.
2118        https://bugs.webkit.org/show_bug.cgi?id=54195
2119
2120        Add SourceMapping interface with two implementations - IdenticalSourceMapping and SourceMappingForFormattedScript.
2121        Rewrite SourceFrameContent based on SourceMapping. Make SourceFrame unaware of source mapping details.
2122
2123        * inspector/front-end/ResourceView.js:
2124        (WebInspector.SourceFrameContentProviderForResource.prototype.requestContent):
2125        * inspector/front-end/ScriptFormatter.js:
2126        (WebInspector.ScriptFormatter.locationToPosition):
2127        (WebInspector.ScriptFormatter.positionToLocation):
2128        (WebInspector.ScriptFormatter.prototype.formatContent.didFormatChunks):
2129        (WebInspector.ScriptFormatter.prototype.formatContent):
2130        (WebInspector.ScriptFormatter.prototype._splitContentIntoChunks):
2131        (WebInspector.SourceMappingForFormattedScript):
2132        (WebInspector.SourceMappingForFormattedScript.prototype.fromScriptLocation):
2133        (WebInspector.SourceMappingForFormattedScript.prototype.toScriptLocation):
2134        (WebInspector.SourceMappingForFormattedScript.prototype.originalPositionToFormattedLocation):
2135        (WebInspector.SourceMappingForFormattedScript.prototype._convertPosition):
2136        * inspector/front-end/ScriptsPanel.js:
2137        (WebInspector.SourceFrameContentProviderForScript.prototype.requestContent):
2138        * inspector/front-end/SourceFrame.js:
2139        (WebInspector.SourceFrame.prototype._createTextViewer):
2140        (WebInspector.SourceFrame.prototype._shouldDisplayBreakpoint):
2141        (WebInspector.SourceFrame.prototype.setExecutionLine):
2142        (WebInspector.SourceFrame.prototype.clearExecutionLine):
2143        (WebInspector.SourceFrame.prototype._breakpointAdded):
2144        (WebInspector.SourceFrame.prototype.formatSource.didFormat):
2145        (WebInspector.SourceFrame.prototype.formatSource):
2146        (WebInspector.SourceFrame.prototype._continueToLine):
2147        (WebInspector.SourceFrame.prototype._setBreakpoint):
2148        (WebInspector.SourceFrame.prototype._findBreakpoint):
2149        (WebInspector.SourceFrameContentProvider.prototype.requestContent):
2150        * inspector/front-end/SourceFrameContent.js:
2151        (WebInspector.SourceFrameContent):
2152        (WebInspector.SourceFrameContent.prototype.sourceFrameLineNumberToScriptLocation):
2153        (WebInspector.SourceFrameContent.prototype.scriptLocationToSourceFrameLineNumber):
2154        (WebInspector.SourceFrameContent.prototype._sourceIDForSourceFrameLineNumber):
2155        (WebInspector.SourceMapping):
2156        (WebInspector.SourceMapping.prototype.fromScriptLocation):
2157        (WebInspector.SourceMapping.prototype.toScriptLocation):
2158        (WebInspector.IdenticalSourceMapping):
2159        (WebInspector.IdenticalSourceMapping.prototype.fromScriptLocation):
2160        (WebInspector.IdenticalSourceMapping.prototype.toScriptLocation):
2161        * inspector/front-end/utilities.js:
2162        (String.prototype.lineEndings):
2163
21642011-02-14  Pavel Feldman  <pfeldman@chromium.org>
2165
2166        Reviewed by Yury Semikhatsky.
2167
2168        Web Inspector: [REGRESSION introduced in r77950] Develop -> Start Debugging JavaScript does not open Web Inspector.
2169        https://bugs.webkit.org/show_bug.cgi?id=54277
2170
2171        * inspector/InspectorAgent.cpp:
2172        (WebCore::InspectorAgent::populateScriptObjects):
2173        (WebCore::InspectorAgent::stopUserInitiatedProfiling):
2174        (WebCore::InspectorAgent::showAndEnableDebugger):
2175        (WebCore::InspectorAgent::showPanel):
2176        * inspector/InspectorAgent.h:
2177        * inspector/InspectorController.cpp:
2178        (WebCore::InspectorController::showAndEnableDebugger):
2179        (WebCore::InspectorController::stopUserInitiatedProfiling):
2180
21812011-02-14  Kenichi Ishibashi  <bashi@chromium.org>
2182
2183        Reviewed by Andreas Kling.
2184
2185        css style="max-width:none" works wrong
2186        https://bugs.webkit.org/show_bug.cgi?id=53743
2187
2188        Fix a bug that "max-width:none" works wrong.
2189        See also: http://trac.webkit.org/changeset/13462
2190
2191        Test: fast/css/max-width-none.html
2192
2193        * css/CSSStyleSelector.cpp:
2194        (WebCore::CSSStyleSelector::applyProperty): For max-width of none,
2195        set it to Length(undefinedLength, Fixed), which is the correct
2196        value.
2197
21982011-02-14  Antti Koivisto  <antti@apple.com>
2199
2200        Reviewed by Andreas Kling.
2201
2202        REGRESSION (r77834): Assertion failing in svg/custom/use-multiple-on-nested-disallowed-font.svg
2203        https://bugs.webkit.org/show_bug.cgi?id=54344
2204        
2205        Intead of recomputing, just mark style selector dirty if it is invalidated in the middle of a style recalc.
2206
2207        * dom/Document.cpp:
2208        (WebCore::Document::Document):
2209        (WebCore::Document::recalcStyle):
2210        (WebCore::Document::recalcStyleSelector):
2211        * dom/Document.h:
2212
22132011-02-14  Naoki Takano  <takano.naoki@gmail.com>
2214
2215        Reviewed by Kent Tamura.
2216
2217        [Chromium] Fix wrong popup position for RTL(again)
2218        https://bugs.webkit.org/show_bug.cgi?id=54375
2219
2220        Fix right position bug introduce by https://bugs.webkit.org/show_bug.cgi?id=53567, because the previous fix was correct for the current behaviour, but not good for http://crbug.com/60427. To calculate the correct right offset value and apply to the position, change WebCore::PopupContainer::layout() to return right offset value and use the returned value to calculate position.
2221
2222        No new tests. However we can check manually with select_dropdown_box_alignment.html, autofill_alignment.html, select_alignment.html, select_dropdown_box_alignment.html, autofill-popup-width-and-item-direction.html
2223
2224        * platform/chromium/PopupMenuChromium.cpp:
2225        (WebCore::PopupContainer::layoutAndCalculateWidgetRect): Change the input parameter to take popupInitialCoordinate again. And calculate correct right position with returned right offset from layoutAndGetRightOffset().
2226        (WebCore::PopupContainer::showPopup): Change the passing parameter to layoutAndCalculateWidgetRect().
2227        (WebCore::PopupContainer::layoutAndGetRightOffset): Change the name from layout() and to return rightOffset value.
2228        (WebCore::PopupContainer::refresh): Change the passing parameter to layoutAndCalculateWidgetRect().
2229        * platform/chromium/PopupMenuChromium.h: Change the function name and parameters.
2230
22312011-02-14  Alejandro G. Castro  <alex@igalia.com>
2232
2233        Unreviewed, rolling out r78451.
2234        http://trac.webkit.org/changeset/78451
2235        https://bugs.webkit.org/show_bug.cgi?id=53898
2236
2237        It is causing crashes in some bots
2238
2239        * platform/text/TextCodecICU.cpp:
2240        (WebCore::newTextCodecICU):
2241        (WebCore::TextCodecICU::registerBaseEncodingNames):
2242        (WebCore::TextCodecICU::registerBaseCodecs):
2243        (WebCore::TextCodecICU::registerExtendedEncodingNames):
2244        (WebCore::TextCodecICU::registerExtendedCodecs):
2245        (WebCore::ErrorCallbackSetter::~ErrorCallbackSetter):
2246        (WebCore::getGbkEscape):
2247        (WebCore::urlEscapedEntityCallback):
2248        (WebCore::gbkCallbackEscape):
2249        (WebCore::gbkUrlEscapedEntityCallack):
2250        (WebCore::gbkCallbackSubstitute):
2251        * platform/text/TextCodecICU.h:
2252        (WebCore::ICUConverterWrapper::ICUConverterWrapper):
2253        * platform/text/TextCodecUTF8.cpp:
2254        (WebCore::TextCodecUTF8::registerEncodingNames):
2255        (WebCore::nonASCIISequenceLength):
2256        (WebCore::decodeNonASCIISequence):
2257        (WebCore::TextCodecUTF8::decode):
2258        * platform/text/TextCodecUTF8.h:
2259        * platform/text/TextEncodingRegistry.cpp:
2260        (WebCore::buildBaseTextCodecMaps):
2261        (WebCore::extendTextCodecMaps):
2262
22632011-02-13  Antti Koivisto  <antti@apple.com>
2264
2265        Reviewed by Dan Bernstein.
2266
2267        https://bugs.webkit.org/show_bug.cgi?id=54376
2268        Make sorting of matched rules faster
2269        
2270        - use std::sort
2271        - cache specificity, it is slow to compute
2272        - inline compare function
2273
2274        * css/CSSStyleSelector.cpp:
2275        (WebCore::RuleData::specificity):
2276        (WebCore::CSSStyleSelector::matchRules):
2277        (WebCore::compareRules):
2278        (WebCore::CSSStyleSelector::sortMatchedRules):
2279        (WebCore::RuleData::RuleData):
2280        (WebCore::CSSStyleSelector::matchPageRules):
2281        * css/CSSStyleSelector.h:
2282
22832011-02-12  Darin Adler  <darin@apple.com>
2284
2285        Reviewed by Alexey Proskuryakov.
2286
2287        Add built-in decoder for UTF-8 for improved performance
2288        https://bugs.webkit.org/show_bug.cgi?id=53898
2289
2290        Covered by existing tests; not adding new tests at this time.
2291
2292        This patch now handles errors in the same way the existing codecs do,
2293        and so passes our tests. The previous version failed some tests because
2294        of incorrect error handling.
2295
2296        * platform/text/TextCodecICU.cpp:
2297        (WebCore::create): Renamed from newTextCodecICU, made a static member
2298        function, and added a call to adoptPtr.
2299        (WebCore::TextCodecICU::registerEncodingNames): Renamed from
2300        registerExtendedEncodingNames since this class is no longer used for
2301        base codecs. Removed aliases for UTF-8; now handled by TextCodecUTF8.
2302        (WebCore::TextCodecICU::registerCodecs): Renamed.
2303        (WebCore::fallbackForGBK): Renamed to conform to our current style.
2304
2305        * platform/text/TextCodecICU.h: Updated for above changes. Changed
2306        indentation. Made most functions private, including virtual function
2307        overrides. Marked ICUConverterWrapper noncopyable.
2308
2309        * platform/text/TextCodecUTF8.cpp:
2310        (WebCore::TextCodecUTF8::registerEncodingNames): Added the UTF-8 aliases
2311        that were formerly added by TextCodecICU.
2312        (WebCore::nonASCIISequenceLength): Fixed bug where this would return 4 for
2313        bytes F5-FF instead of failing.
2314        (WebCore::decodeNonASCIISequence): Tweaked coding style.
2315        (WebCore::appendCharacter): Added. Makes it easier to share code between
2316        the partial-character handling and main loop.
2317        (WebCore::TextCodecUTF8::decode): Fixed buffer size computation for case
2318        where there is a partial sequence. Fixed partial sequence handling so that
2319        goto is no longer needed, since compilers sometimes make poor code when
2320        goto is involved. Added a loop for partial sequences since we consume only
2321        one byte when a partial sequence is invalid. Fixed logic in main decoding
2322        loop so goto is not needed. Used early-exit style in both loops so the main
2323        flow is not nested inside if statements. Added correct error handling for
2324        flush when a partial sequence remains, which involved wrapping the function
2325        in yet another loop.
2326
2327        * platform/text/TextCodecUTF8.h: Made virtual function overrides private.
2328
2329        * platform/text/TextEncodingRegistry.cpp:
2330        (WebCore::buildBaseTextCodecMaps): Added calls to TextCodecUTF8. Removed
2331        calls to TextCodecICU. Added FIXMEs for other codecs that no longer need
2332        to be included here.
2333        (WebCore::extendTextCodecMaps): Updated for the name change of the
2334        TextCodecICU functions.
2335
23362011-02-13  Mark Rowe  <mrowe@apple.com>
2337
2338        Reviewed by Maciej Stachowiak.
2339
2340        <rdar://problem/8995490> WebCoreAuthenticationClientAsChallengeSender doesn't implement some necessary methods.
2341
2342        * platform/network/mac/AuthenticationMac.mm:
2343        (-[WebCoreAuthenticationClientAsChallengeSender performDefaultHandlingForAuthenticationChallenge:]):
2344        (-[WebCoreAuthenticationClientAsChallengeSender rejectProtectionSpaceAndContinueWithChallenge:]):
2345
23462011-02-13  Simon Fraser  <simon.fraser@apple.com>
2347
2348        Reviewed by Andreas Kling.
2349
2350        Repeating gradients drawn incorrectly
2351        https://bugs.webkit.org/show_bug.cgi?id=53502
2352        
2353        The 'forward-fill' logic for repeating gradients used the wrong
2354        starting stop index (0 rather than the original first index), which
2355        resulted in incorrect gradients if backwards-fill had already been
2356        applied.
2357
2358        Test: fast/gradients/css3-repeating-end-fill.html
2359
2360        * css/CSSGradientValue.cpp:
2361        (WebCore::CSSGradientValue::addStops):
2362
23632011-02-13  Benjamin Poulain  <benjamin.poulain@nokia.com>
2364
2365        Reviewed by Andreas Kling.
2366
2367        Unused variable result in RenderBlock::addOverflowFromFloats()
2368        https://bugs.webkit.org/show_bug.cgi?id=54363
2369
2370        Remove the unused variable.
2371
2372        * rendering/RenderBlock.cpp:
2373        (WebCore::RenderBlock::addOverflowFromFloats):
2374
23752011-02-13  Cameron Zwarich  <zwarich@apple.com>
2376
2377        Reviewed by Anders Carlsson.
2378
2379        WebCore fails to build with Clang's -Woverloaded-virtual
2380        https://bugs.webkit.org/show_bug.cgi?id=54367
2381
2382        * loader/PingLoader.h:
2383        (WebCore::PingLoader::didReceiveData): Change the method signature to match the signature
2384        in the base class.
2385
23862011-02-13  Nico Weber  <thakis@chromium.org>
2387
2388        Reviewed by Anders Carlsson.
2389
2390        RenderBR::width() tries but fails to override RenderText::width()
2391        https://bugs.webkit.org/show_bug.cgi?id=54301
2392
2393        The superclass method's signature changed, e.g. in
2394        http://trac.webkit.org/changeset/57215, but the subclass was not
2395        updated.
2396
2397        * rendering/RenderBR.h:
2398        (WebCore::RenderBR::width):
2399
24002011-02-13  Andreas Kling  <kling@webkit.org>
2401
2402        Reviewed by Dirk Schulze.
2403
2404        Canvas: 2d.fillStyle.parse.system.html fails
2405        https://bugs.webkit.org/show_bug.cgi?id=39168
2406
2407        Based on previous work by Julien Chaffraix <jchaffraix@codeaurora.org>
2408        and Jan Erik Hanssen <jhanssen@sencha.com>
2409
2410        * css/CSSParser.cpp:
2411        (WebCore::CSSParser::parseColor): Changed the function to better match our
2412        early return policy. Also we now return false when we don't parse the color.
2413        This is needed for createFromString to fallback to using parseSystemColor.
2414
2415        (WebCore::CSSParser::parseSystemColor): Made use of the RenderTheme to get
2416        the system colors.
2417
2418        * css/CSSParser.h: Added the new parseSystemColor method.
2419
2420        * html/canvas/CanvasRenderingContext2D.cpp:
2421        (WebCore::CanvasRenderingContext2D::setStrokeColor): Pass the document to createFromString.
2422        (WebCore::CanvasRenderingContext2D::setFillColor): Ditto.
2423
2424        * html/canvas/CanvasStyle.cpp:
2425        (WebCore::parseColor):
2426        (WebCore::parseColorOrCurrentColor):
2427        (WebCore::CanvasStyle::createFromString): Try to parse the color using CSSParser::parseColor
2428        and fall back to parseSystemColor if it did not work.
2429
2430        * html/canvas/CanvasStyle.h: Added the new Document* parameter to createFromString.
2431
24322011-02-13  Jeremy Moskovich  <jeremy@chromium.org>
2433
2434        Reviewed by Adam Barth.
2435
2436        Add a compile-time option to completely disable WebArchive support.
2437        https://bugs.webkit.org/show_bug.cgi?id=52712
2438
2439        Add an ENABLE(WEB_ARCHIVE) compile-time setting and use it for all WebArchive code.
2440
2441        ArchiveResource and ArchiveResourceCollection are notably still compiled in. They are used
2442        in Safari for functionality such as "Save Image As" and Image copy & paste independent of
2443        WebArchive support.
2444
2445        Ports Affected:
2446            WebArchive support is currently enabled for all ports that define PLATFORM(CF) apart from Qt.
2447            This patch preserves this behavior except that it also disables support in the Chromium port.
2448
2449        No behavior changes so no new tests.
2450
2451        * WebCore.gyp/WebCore.gyp: Don't compile LegacyWebArchive.cpp and friends.
2452        * WebCore.pro: Don't compile ArchiveFactory.cpp in Qt port.
2453        * loader/DocumentLoader.cpp: Surround WebArchive code with #ifdef.
2454        (WebCore::DocumentLoader::commitLoad):
2455        (WebCore::DocumentLoader::setupForReplaceByMIMEType):
2456        (WebCore::DocumentLoader::archiveResourceForURL):
2457        * loader/DocumentLoader.h:
2458        * loader/FrameLoader.cpp:
2459        (WebCore::FrameLoader::loadURLIntoChildFrame):
2460        (WebCore::FrameLoader::stopAllLoaders):
2461        (WebCore::FrameLoader::finishedLoadingDocument):
2462        * loader/FrameLoader.h:
2463        * loader/ResourceLoader.cpp:
2464        (WebCore::ResourceLoader::start):
2465        * loader/archive/ArchiveFactory.cpp: Remove #ifdef since feature is now enabled/disabled wholesale.
2466        (WebCore::archiveMIMETypes):
2467        * page/Settings.cpp:
2468        * page/Settings.h:
2469        * platform/MIMETypeRegistry.cpp:
2470        (WebCore::initializeSupportedNonImageMimeTypes):
2471
24722011-02-13  Aparna Nandyal  <aparna.nand@wipro.com>
2473
2474        Reviewed by Andreas Kling.
2475
2476        [Qt] QtWebKit does not properly handle D&D of a percent-encoded URL.
2477        https://bugs.webkit.org/show_bug.cgi?id=53320
2478
2479        The encoding that was done is corrected in the fix.  
2480        Replaced the KURL encoding function with QUrl API.
2481
2482        * platform/qt/DragDataQt.cpp:
2483        (WebCore::DragData::asURL):
2484
24852011-02-13  Leo Yang  <leo.yang.c@gmail.com>
2486
2487        Reviewed by Andreas Kling.
2488
2489        Unnecessary call of containingBlock() in RenderBoxModelObject::relativePositionOffsetX()
2490        https://bugs.webkit.org/show_bug.cgi?id=54351
2491
2492        We were calling containingBlock() twice if the left is not auto. We only need to call it
2493        once because we can use 'cb' variable in the following line.
2494
2495        No functionality change, no new tests.
2496
2497        * rendering/RenderBoxModelObject.cpp:
2498        (WebCore::RenderBoxModelObject::relativePositionOffsetX):
2499
25002011-02-13  Jarred Nicholls  <jarred@sencha.com>
2501
2502        Reviewed by Simon Fraser.
2503
2504        getComputedStyle returns wrong value for margin-right
2505        https://bugs.webkit.org/show_bug.cgi?id=13343
2506        
2507        Matching IE, Firefox, and Opera behavior by returning the computed margin
2508        values as specified, rather than the used/auto values (calculated via RenderBox).
2509        Also CSS 2.1+ compliant by returning margin percentage as specified, if applicable.
2510        Note: Firefox and Opera return calculated fixed lengths for percentage margins, IE
2511        returns the specified percentage.
2512
2513        Tests: fast/css/getComputedStyle/getComputedStyle-margin-auto.html
2514               fast/css/getComputedStyle/getComputedStyle-margin-length.html
2515               fast/css/getComputedStyle/getComputedStyle-margin-percentage.html
2516
2517        * css/CSSComputedStyleDeclaration.cpp:
2518        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2519
25202011-02-13  Adam Barth  <abarth@webkit.org>
2521
2522        Reviewed by Sam Weinig.
2523
2524        crypto.getRandomValues should throw TYPE_MISMATCH_ERR
2525        https://bugs.webkit.org/show_bug.cgi?id=54346
2526
2527        As requested by Sam.
2528
2529        * page/Crypto.cpp:
2530        (WebCore::Crypto::getRandomValues):
2531
25322011-02-13  Alexey Proskuryakov  <ap@apple.com>
2533
2534        Reviewed by Dan Bernstein.
2535
2536        https://bugs.webkit.org/show_bug.cgi?id=54349
2537        Inline some accessors in PrintContext
2538
2539        No change in behavior, so no tests.
2540
2541        * WebCore.exp.in:
2542        * page/PrintContext.cpp:
2543        * page/PrintContext.h:
2544        (WebCore::PrintContext::pageCount):
2545        (WebCore::PrintContext::pageRect):
2546        Inline pageCount() and pageRect() to match pageRects().
2547
25482011-02-13  Sam Weinig  <sam@webkit.org>
2549
2550        Roll r78424 [Extra scrolling required when scrolling with a scroll wheel (Mighty Mouse)] back
2551        in with fixes to make it work with render layers.
2552
2553        * platform/mac/ScrollAnimatorMac.h:
2554        * platform/mac/ScrollAnimatorMac.mm:
2555        (WebCore::ScrollAnimatorMac::scrollToOffsetWithoutAnimation):
2556        (WebCore::ScrollAnimatorMac::adjustScrollXPositionIfNecessary):
2557        (WebCore::ScrollAnimatorMac::adjustScrollYPositionIfNecessary):
2558        (WebCore::ScrollAnimatorMac::adjustScrollPositionIfNecessary):
2559        (WebCore::ScrollAnimatorMac::immediateScrollToPoint):
2560        (WebCore::ScrollAnimatorMac::immediateScrollByDeltaX):
2561        (WebCore::ScrollAnimatorMac::immediateScrollByDeltaY):
2562        * rendering/RenderLayer.cpp:
2563        (WebCore::RenderLayer::RenderLayer):
2564        (WebCore::RenderLayer::contentsSize):
2565        (WebCore::RenderLayer::visibleHeight):
2566        (WebCore::RenderLayer::visibleWidth):
2567        (WebCore::RenderLayer::updateScrollInfoAfterLayout):
2568        * rendering/RenderLayer.h:
2569        * rendering/RenderListBox.cpp:
2570        (WebCore::RenderListBox::visibleHeight):
2571        (WebCore::RenderListBox::visibleWidth):
2572        * rendering/RenderListBox.h:
2573
25742011-02-13  Sam Weinig  <sam@webkit.org>
2575
2576        Reviewed by Dan Bernstein.
2577
2578        Some Scrollbar functions assume an attached ScrollableArea but can be called without one
2579        https://bugs.webkit.org/show_bug.cgi?id=54262
2580
2581        Make sure that all calls to the scrollable area are null checked.
2582
2583        * platform/Scrollbar.cpp:
2584        (WebCore::Scrollbar::autoscrollPressedPart):
2585        (WebCore::Scrollbar::moveThumb):
2586        (WebCore::Scrollbar::mouseMoved):
2587
25882011-02-13  Sam Weinig  <sam@webkit.org>
2589
2590        Roll out r78424. It broke a bunch of tests.
2591
2592        * platform/mac/ScrollAnimatorMac.h:
2593        * platform/mac/ScrollAnimatorMac.mm:
2594        (WebCore::ScrollAnimatorMac::scrollToOffsetWithoutAnimation):
2595        (WebCore::ScrollAnimatorMac::immediateScrollToPoint):
2596        (WebCore::ScrollAnimatorMac::immediateScrollByDeltaX):
2597        (WebCore::ScrollAnimatorMac::immediateScrollByDeltaY):
2598        * rendering/RenderLayer.cpp:
2599        * rendering/RenderLayer.h:
2600        (WebCore::RenderLayer::contentsSize):
2601        * rendering/RenderListBox.cpp:
2602        * rendering/RenderListBox.h:
2603
26042011-02-12  Sam Weinig  <sam@webkit.org>
2605
2606        Reviewed by Dan Bernstein.
2607
2608        WK2: Extra scrolling required when scrolling with a scroll wheel (Mighty Mouse)
2609        <rdar://problem/8984760> 
2610
2611        When going down the smooth scroll path, constrained scrolls (such as those from a
2612        Mighty Mouse) were being correctly constrained at the ScrollView level, but the 
2613        duplicate values being stored by the animator were not being constrained correctly.
2614
2615        In order to implement the constraint at this level, more of the ScrollableArea's API
2616        needed to be filled in for RenderLayer and RenderListBox.
2617
2618        * platform/mac/ScrollAnimatorMac.h:
2619        * platform/mac/ScrollAnimatorMac.mm:
2620        (WebCore::ScrollAnimatorMac::scrollToOffsetWithoutAnimation): Call immediateScrollToPoint to stay
2621        consistent and get the desired behavior.
2622
2623        (WebCore::ScrollAnimatorMac::adjustScrollXPositionIfNecessary):
2624        (WebCore::ScrollAnimatorMac::adjustScrollYPositionIfNecessary):
2625        (WebCore::ScrollAnimatorMac::adjustScrollPositionIfNecessary):
2626        (WebCore::ScrollAnimatorMac::immediateScrollToPoint):
2627        (WebCore::ScrollAnimatorMac::immediateScrollByDeltaX):
2628        (WebCore::ScrollAnimatorMac::immediateScrollByDeltaY):
2629        Ensure that the scroll animators view of the current scroll position is the
2630        same as the scrollable areas by correctly clamping the value.
2631
2632        * rendering/RenderLayer.cpp:
2633        (WebCore::RenderLayer::contentsSize): Correct implementation
2634        to use the scroll size, not the visible size.
2635        (WebCore::RenderLayer::visibleHeight):
2636        (WebCore::RenderLayer::visibleWidth):
2637        * rendering/RenderLayer.h:
2638        * rendering/RenderListBox.cpp:
2639        (WebCore::RenderListBox::visibleHeight):
2640        (WebCore::RenderListBox::visibleWidth):
2641        * rendering/RenderListBox.h:
2642        Add implementations for visibleHeight/visibleWidth.
2643
26442011-02-12  Adam Barth  <abarth@webkit.org>
2645
2646        Reviewed by Sam Weinig.
2647
2648        crypto.getRandomValues should support all integer array types
2649        https://bugs.webkit.org/show_bug.cgi?id=54342
2650
2651        As discussed on whatwg, we should support all the integer array types.
2652
2653        Test: security/crypto-random-values-types.html
2654
2655        * page/Crypto.cpp:
2656        (WebCore::Crypto::getRandomValues):
2657
26582011-02-12  Adam Barth  <abarth@webkit.org>
2659
2660        Reviewed by Mark Rowe.
2661
2662        Use /dev/urandom as the OSRandomSource on OS(DARWIN)
2663        https://bugs.webkit.org/show_bug.cgi?id=54279
2664
2665        Update the ifdef.  OS(UNIX) includes OS(DARWIN), so this change is
2666        should be a NOP.
2667
2668        * config.h:
2669
26702011-02-11  Zhenyao Mo  <zmo@google.com>
2671
2672        Reviewed by Kenneth Russell.
2673
2674        [chromium] Allow turning off multisampling through web preference settings
2675        https://bugs.webkit.org/show_bug.cgi?id=54321
2676
2677        * html/canvas/WebGLRenderingContext.cpp:
2678        (WebCore::WebGLRenderingContext::create): Disable multisampling in WebGL if web reference says so.
2679        * page/Settings.cpp: Add a flag for multisampling preference.
2680        (WebCore::Settings::Settings):
2681        (WebCore::Settings::setOpenGLMultisamplingEnabled):
2682        * page/Settings.h: Ditto.
2683        (WebCore::Settings::openGLMultisamplingEnabled):
2684
26852011-02-12  Ryosuke Niwa  <rniwa@webkit.org>
2686
2687        Reviewed by Tony Chang.
2688
2689        Deploy EditingStyle in applyBlockStyle and applyInlineStyle
2690        https://bugs.webkit.org/show_bug.cgi?id=53911
2691
2692        Deployed EditingStyle in ApplyStyleCommand::applyBlockStyle and ApplyStyleCommand::applyInlineStyle.
2693        Extracted EditingStyle::extractAndRemoveTextDirection from applyInlineStyle.
2694        Also added propertiesToInclude to the argument list of EditingStyle's constructor that takes Node*
2695        so that splitAncestorsWithUnicodeBidi can call EditingStyle::textDirection to obtain the text direction.
2696
2697        No new tests are added since this is a refactoring.
2698
2699        * editing/ApplyStyleCommand.cpp:
2700        (WebCore::ApplyStyleCommand::doApply): Passes EditingStyle* to applyBlockStyle and applyInlineStyle.
2701        (WebCore::ApplyStyleCommand::applyBlockStyle): Takes EditingStyle*.
2702        (WebCore::ApplyStyleCommand::splitAncestorsWithUnicodeBidi): Changed the type of allowedDirection
2703        from int to WritingDirection. Uses EditingStyle's textDirection to obtain the writing direction.
2704        (WebCore::ApplyStyleCommand::applyInlineStyle): Takes EditingStyle*.
2705        (WebCore::ApplyStyleCommand::removeInlineStyleFromElement): Allows style to be null; exit early instead.
2706        (WebCore::ApplyStyleCommand::removeImplicitlyStyledElement): Asserts that style is not null.
2707        (WebCore::ApplyStyleCommand::removeInlineStyle): Allows style to be null.
2708        * editing/ApplyStyleCommand.h: Includes WritingDirection.h; prototype changes.
2709        * editing/EditingStyle.cpp:
2710        (WebCore::EditingStyle::EditingStyle): Added PropertiesToInclude to the argument.
2711        (WebCore::EditingStyle::init): Supports PropertiesToInclude.
2712        (WebCore::EditingStyle::extractAndRemoveTextDirection): Extracted from applyInlineStyle.
2713        * editing/EditingStyle.h:
2714        (WebCore::EditingStyle::create): Supports PropertiesToInclude.
2715
27162011-02-12  Jochen Eisinger  <jochen@chromium.org>
2717
2718        Reviewed by Jeremy Orlow.
2719
2720        Implement IDBObjectStore::clear
2721        https://bugs.webkit.org/show_bug.cgi?id=54193
2722
2723        Test: storage/indexeddb/objectstore-clear.html
2724
2725        * storage/IDBObjectStore.cpp:
2726        (WebCore::IDBObjectStore::clear):
2727        * storage/IDBObjectStore.h:
2728        * storage/IDBObjectStore.idl:
2729        * storage/IDBObjectStoreBackendImpl.cpp:
2730        (WebCore::IDBObjectStoreBackendImpl::clear):
2731        (WebCore::doDelete):
2732        (WebCore::IDBObjectStoreBackendImpl::clearInternal):
2733        * storage/IDBObjectStoreBackendImpl.h:
2734        * storage/IDBObjectStoreBackendInterface.h:
2735
27362011-02-12  Adam Barth  <abarth@webkit.org>
2737
2738        Another attempt to fix the EFL build.  Looks like we're missing one
2739        more file.
2740
2741        * CMakeLists.txt:
2742
27432011-02-12  Adam Barth  <abarth@webkit.org>
2744
2745        Attempt to fix the EFL build.  Apparently the CMake build had no
2746        concept of ArrayBuffers.
2747
2748        * CMakeLists.txt:
2749
27502011-02-12  Ryosuke Niwa  <rniwa@webkit.org>
2751
2752        Unreviewed build fix.
2753
2754        * dom/Range.cpp:
2755        (WebCore::lengthOfContentsInNode): Replaced static const unsigned LengthOfContentsInNode.
2756        (WebCore::Range::processContents):
2757        (WebCore::Range::processContentsBetweenOffsets):
2758
27592011-02-12  Adam Barth  <abarth@webkit.org>
2760
2761        CPP files belong in SOURCES not in HEADERS.  There are more errors like
2762        this for other disabled features, but I'm not fixing them in this
2763        patch.
2764
2765        * WebCore.pro:
2766
27672011-02-12  Adam Barth  <abarth@webkit.org>
2768
2769        Apparently lines in .pro files need to be \-terminated.
2770
2771        * WebCore.pro:
2772
27732011-02-11  Ryosuke Niwa  <rniwa@webkit.org>
2774
2775        Reviewed by Darin Adler.
2776
2777        Extract a function to process contents for one node from Range::processContents
2778        https://bugs.webkit.org/show_bug.cgi?id=54282
2779
2780        Extracted Range::processContentsBetweenOffsets, which process contents of a node
2781        between two offsets. This function is used for the simple case where the start
2782        and the end containers are of the same node, and to process start and end containers
2783        in the complex case.
2784
2785        When the function takes a non-null fragment (simple case), it appends the processed
2786        contents to the fragment; character data and processing instruction's contents are copied
2787        between the offsets, and descendants are copied for node of other types (not node itself).
2788
2789        When the fragment is null (complex case), the function copies contents of character data,
2790        processing instruction, and node of other types (including node itself).
2791
2792        No new tests are added since this is a refactoring.
2793
2794        * dom/Range.cpp:
2795        (WebCore::highestAncestorUnderCommonRoot): Added.
2796        (WebCore::Range::processContents): Calls highestAncestorUnderCommonRoot and
2797        processContentsBetweenOffsets.
2798        (WebCore::Range::processContentsBetweenOffsets): Added.
2799        * dom/Range.h:
2800
28012011-02-12  Adam Barth  <abarth@webkit.org>
2802
2803        Attempt to fix the Qt Windows build.
2804
2805        * WebCore.pro:
2806
28072011-02-12  Adam Barth  <abarth@webkit.org>
2808
2809        Reviewed by Kenneth Russell.
2810
2811        Enable ArrayBuffers by default
2812        https://bugs.webkit.org/show_bug.cgi?id=54310
2813
2814        As discussed on webkit-dev, ArrayBuffers are used by a bunch of
2815        different APIs, implemented by Firefox, and appear to be stable.
2816        Keeping them conditional is a large mantainance burden than it's worth.
2817
2818        * DerivedSources.cpp:
2819        * WebCore.vcproj/WebCore.vcproj:
2820        * bindings/generic/RuntimeEnabledFeatures.h:
2821        (WebCore::RuntimeEnabledFeatures::setWebGLEnabled):
2822        * bindings/js/JSArrayBufferCustom.cpp:
2823        * bindings/js/JSBindingsAllInOne.cpp:
2824        * bindings/js/JSDOMWindowCustom.cpp:
2825        * bindings/js/JSDataViewCustom.cpp:
2826        * bindings/js/JSFloat32ArrayCustom.cpp:
2827        * bindings/js/JSInt16ArrayCustom.cpp:
2828        * bindings/js/JSInt32ArrayCustom.cpp:
2829        * bindings/js/JSInt8ArrayCustom.cpp:
2830        * bindings/js/JSUint16ArrayCustom.cpp:
2831        * bindings/js/JSUint32ArrayCustom.cpp:
2832        * bindings/js/JSUint8ArrayCustom.cpp:
2833        * bindings/v8/custom/V8ArrayBufferCustom.cpp:
2834        * bindings/v8/custom/V8ArrayBufferViewCustom.h:
2835        * bindings/v8/custom/V8DataViewCustom.cpp:
2836        * bindings/v8/custom/V8Float32ArrayCustom.cpp:
2837        * bindings/v8/custom/V8Int16ArrayCustom.cpp:
2838        * bindings/v8/custom/V8Int32ArrayCustom.cpp:
2839        * bindings/v8/custom/V8Int8ArrayCustom.cpp:
2840        * bindings/v8/custom/V8Uint16ArrayCustom.cpp:
2841        * bindings/v8/custom/V8Uint32ArrayCustom.cpp:
2842        * bindings/v8/custom/V8Uint8ArrayCustom.cpp:
2843        * html/canvas/ArrayBuffer.cpp:
2844        * html/canvas/ArrayBuffer.idl:
2845        * html/canvas/ArrayBufferView.cpp:
2846        * html/canvas/ArrayBufferView.idl:
2847        * html/canvas/DataView.cpp:
2848        * html/canvas/DataView.idl:
2849        * html/canvas/Float32Array.cpp:
2850        * html/canvas/Float32Array.idl:
2851        * html/canvas/Int16Array.cpp:
2852        * html/canvas/Int16Array.idl:
2853        * html/canvas/Int32Array.cpp:
2854        * html/canvas/Int32Array.idl:
2855        * html/canvas/Int8Array.cpp:
2856        * html/canvas/Int8Array.idl:
2857        * html/canvas/Uint16Array.cpp:
2858        * html/canvas/Uint16Array.idl:
2859        * html/canvas/Uint32Array.cpp:
2860        * html/canvas/Uint32Array.idl:
2861        * html/canvas/Uint8Array.cpp:
2862        * html/canvas/Uint8Array.idl:
2863        * page/Crypto.cpp:
2864        (WebCore::Crypto::getRandomValues):
2865        * page/Crypto.h:
2866        * page/Crypto.idl:
2867        * page/DOMWindow.idl:
2868        * workers/WorkerContext.idl:
2869
28702011-02-11  Yael Aharon  <yael.aharon@nokia.com>
2871
2872        Reviewed by Darin Adler.
2873
2874        Background image positioning on RTL text
2875        https://bugs.webkit.org/show_bug.cgi?id=32862
2876
2877        When the style of InlineFlowBox is right-to-left, the strips should be rearranged in reverse order.
2878
2879        Tests: fast/inline/inline-box-background-long-image.html
2880               fast/inline/inline-box-background-repeat-x.html
2881               fast/inline/inline-box-background-repeat-y.html
2882               fast/inline/inline-box-background.html
2883
2884        * rendering/InlineFlowBox.cpp:
2885        (WebCore::InlineFlowBox::paintFillLayer):
2886
28872011-02-11  Sheriff Bot  <webkit.review.bot@gmail.com>
2888
2889        Unreviewed, rolling out r78044.
2890        http://trac.webkit.org/changeset/78044
2891        https://bugs.webkit.org/show_bug.cgi?id=54318
2892
2893        Broke Safari extensions (Requested by eseidel on #webkit).
2894
2895        * platform/KURL.cpp:
2896        (WebCore::KURL::parse):
2897
28982011-02-11  Beth Dakin  <bdakin@apple.com>
2899
2900        Reviewed by Sam Weinig.
2901
2902        Fix for <rdar://problem/8976456> Scrollbars for overflow
2903        areas never appear for WKScrollbarPainter scrollers
2904
2905        Call ScrollableArea::didAddVerticalScrollbar() and 
2906        ScrollableArea::willRemoveVerticalScrollbar() when
2907        appropriate for RenderLayers.
2908        * rendering/RenderLayer.cpp:
2909        (WebCore::RenderLayer::setHasHorizontalScrollbar):
2910        (WebCore::RenderLayer::setHasVerticalScrollbar):
2911
29122011-02-11  Eric Seidel  <eric@webkit.org>
2913
2914        Reviewed by Adam Barth.
2915
2916        KURL should remove default port numbers when cannonicalizing urls (to match every other browser)
2917        https://bugs.webkit.org/show_bug.cgi?id=54090
2918
2919        * platform/KURL.cpp:
2920        (WebCore::isDefaultPortForScheme):
2921        (WebCore::KURL::parse):
2922
29232011-02-11  Mike Reed  <reed@google.com>
2924
2925        Reviewed by James Robinson.
2926
2927        Need makeContextCurrent() called in prepareForSoftwareDraw(), in the case that skia's backend
2928        is the gpu. This matches the pattern in GraphicsContext3DOpenGL.cpp
2929
2930        No new tests. All existing canvas layouttests exercise this code path
2931
2932        * platform/graphics/skia/PlatformContextSkia.cpp:
2933        (WebCore::PlatformContextSkia::prepareForSoftwareDraw):
2934
29352011-02-11  Adam Klein  <adamk@chromium.org>
2936
2937        Reviewed by Darin Adler.
2938
2939        Check for empty scheme before accessing URLSchemeMaps in SchemeRegistry
2940        https://bugs.webkit.org/show_bug.cgi?id=54304
2941
2942        This avoids potential crashes in HashMap, as WTF's StringHash doesn't
2943        accept empty Strings.
2944
2945        * platform/SchemeRegistry.cpp:
2946        (WebCore::SchemeRegistry::shouldTreatURLSchemeAsNoAccess):
2947        (WebCore::SchemeRegistry::shouldTreatURLSchemeAsSecure):
2948        (WebCore::SchemeRegistry::shouldLoadURLSchemeAsEmptyDocument):
2949
29502011-02-11  Adam Klein  <adamk@chromium.org>
2951
2952        Reviewed by Darin Fisher.
2953
2954        [fileapi] Add support for filesystem: URI handling
2955        https://bugs.webkit.org/show_bug.cgi?id=53529
2956
2957        There are two major parts to this patch: one is to add an
2958        implementation of Entry.toURI to the FileSystem API.
2959        The other is to implement security origin checking for this
2960        new scheme.
2961
2962        All changes are guarded by the FILE_SYSTEM feature. An accompanying
2963        Chromium change, to support loading of filesystem: URIs, has recently
2964        been submitted as Chromium r74082.
2965
2966        Spec:
2967          http://dev.w3.org/2009/dap/file-system/file-dir-sys.html#methods-2
2968        Proposed URI format, and discussion of security origin issues:
2969          http://lists.w3.org/Archives/Public/public-webapps/2011JanMar/0218.html
2970
2971        Tests: fast/filesystem/directory-entry-to-uri.html
2972               fast/filesystem/file-entry-to-uri.html
2973               fast/filesystem/filesystem-uri-origin.html
2974               http/tests/security/filesystem-iframe-from-remote.html
2975
2976        * fileapi/Entry.cpp:
2977        (WebCore::Entry::toURI):
2978        * fileapi/Entry.h:
2979        * fileapi/Entry.idl:
2980        - Added toURI method to the IDL, omitting the MIME type argument
2981          specified in the spec as it will soon be removed.
2982        * page/SecurityOrigin.cpp:
2983        (WebCore::SecurityOrigin::SecurityOrigin):
2984        - crack the filesystem: URI to get at the origin of the site
2985        (WebCore::SecurityOrigin::canDisplay):
2986        - canDisplay for filesystem: URIs is equivalent to canRequest
2987        * platform/AsyncFileSystem.cpp:
2988        (WebCore::AsyncFileSystem::create):
2989        (WebCore::AsyncFileSystem::openFileSystem):
2990        * platform/AsyncFileSystem.h:
2991        (WebCore::AsyncFileSystem::type):
2992        - Exposed filesystem type to allow toURI to use it as part of the
2993          path.
2994        (WebCore::AsyncFileSystem::AsyncFileSystem):
2995        * platform/SchemeRegistry.cpp:
2996        (WebCore::canDisplayOnlyIfCanRequestSchemes):
2997        (WebCore::SchemeRegistry::canDisplayOnlyIfCanRequest):
2998        (WebCore::SchemeRegistry::registerAsCanDisplayOnlyIfCanRequest):
2999        - Generalized canDisplayOnlyIfCanRequest as it applies to both
3000          filesystem: and blob: URIs.
3001        * platform/SchemeRegistry.h:
3002
30032011-02-11  Beth Dakin  <bdakin@apple.com>
3004
3005        Reviewed by Darin Adler.
3006
3007        Fix for <rdar://problem/8961061> CrashTracer: [USER] 
3008        1 crash at com.apple.WebCore: 
3009        -[ScrollbarPainterControllerDelegate scrollerImpPair:updateScrollerStyleForNewRecommendedScrollerStyle:] + 62
3010
3011        Must check for null _animator.
3012        * platform/mac/ScrollAnimatorMac.mm:
3013        (-[ScrollbarPainterControllerDelegate scrollAnimatorDestroyed]):
3014        (-[ScrollbarPainterControllerDelegate contentAreaRectForScrollerImpPair:]):
3015        (-[ScrollbarPainterControllerDelegate inLiveResizeForScrollerImpPair:]):
3016        (-[ScrollbarPainterControllerDelegate mouseLocationInContentAreaForScrollerImpPair:]):
3017        (-[ScrollbarPainterControllerDelegate scrollerImpPair:convertContentPoint:toScrollerImp:]):
3018        (-[ScrollbarPainterControllerDelegate scrollerImpPair:updateScrollerStyleForNewRecommendedScrollerStyle:]):
3019        (WebCore::ScrollAnimatorMac::~ScrollAnimatorMac):
3020
30212011-02-11  Chris Rogers  <crogers@google.com>
3022
3023        Reviewed by Kenneth Russell.
3024
3025        Throw exception when AudioContext's createBuffer() fails to properly decode audio file data
3026        https://bugs.webkit.org/show_bug.cgi?id=54158
3027
3028        No new tests since audio API is not yet implemented.
3029
3030        * bindings/js/JSAudioContextCustom.cpp:
3031        (WebCore::JSAudioContextConstructor::constructJSAudioContext):
3032        (WebCore::JSAudioContext::createBuffer):
3033        * bindings/v8/custom/V8AudioContextCustom.cpp:
3034        (WebCore::V8AudioContext::createBufferCallback):
3035        * platform/audio/chromium/AudioBusChromium.cpp:
3036        (WebCore::createBusFromInMemoryAudioFile):
3037        * webaudio/AudioContext.idl:
3038
30392011-02-11  Mike Reed  <reed@google.com>
3040
3041        Reviewed by James Robinson.
3042
3043        Fix toDataURL() to use device->readPixels() if need be, rather than always dereferencing
3044        the address returned by getPixels() (as the device may not be backed by a CPU bitmap)
3045        https://bugs.webkit.org/show_bug.cgi?id=54224
3046
3047        No new tests. Existing canvas tests exercise this...
3048        fast/canvas/script-tests/canvas-createPattern-fillRect-shadow.html
3049
3050        * platform/graphics/skia/ImageBufferSkia.cpp:
3051        (WebCore::ImageBuffer::toDataURL):
3052
30532011-02-11  Andrew Wason  <rectalogic@rectalogic.com>
3054
3055        Reviewed by David Levin.
3056
3057        Files missing ENABLE_VIDEO #ifdef
3058        https://bugs.webkit.org/show_bug.cgi?id=53390
3059
3060        No new tests.
3061
3062        * html/canvas/WebGLRenderingContext.cpp:
3063        * html/canvas/WebGLRenderingContext.h:
3064        * html/canvas/WebGLRenderingContext.idl:
3065          Wrap methods and declarations that use HTMLVideoElement
3066          with #if ENABLE(VIDEO).
3067
30682011-02-11  Sheriff Bot  <webkit.review.bot@gmail.com>
3069
3070        Unreviewed, rolling out r78331.
3071        http://trac.webkit.org/changeset/78331
3072        https://bugs.webkit.org/show_bug.cgi?id=54295
3073
3074        This patch broke 11 tests in GTK bots (Requested by svillar on
3075        #webkit).
3076
3077        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
3078        (webkit_accessible_get_name):
3079        (webkit_accessible_detach):
3080
30812011-02-11  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
3082
3083        Reviewed by Xan Lopez.
3084
3085        [GDOM] Video element needs proper wrapping
3086        https://bugs.webkit.org/show_bug.cgi?id=54231
3087
3088        Use the same strategy as the one used for the audio tag to wrap
3089        video as well. No layout tests because this only adds API.
3090
3091        * bindings/gobject/GNUmakefile.am:
3092        * bindings/gobject/WebKitHTMLElementWrapperFactory.cpp:
3093        (WebKit::createVideoWrapper):
3094        (WebKit::createHTMLElementWrapper):
3095
30962011-02-11  Dirk Schulze  <krit@webkit.org>
3097
3098        Reviewed by Andreas Kling.
3099
3100        SVGStyledElement::fillAttributeToPropertyTypeMap triggers a clang warning (-Woverloaded-virtual)
3101        https://bugs.webkit.org/show_bug.cgi?id=54259
3102
3103        Renamed fillAttributeToPropertyTypeMap with passed map to fillPassedAttributeToPropertyTypeMap to
3104        avoid overloading a virtual function.
3105
3106        No change of functionality. Just fixing a build warning, so no new tests.
3107
3108        * svg/SVGAElement.cpp:
3109        (WebCore::SVGAElement::fillAttributeToPropertyTypeMap):
3110        * svg/SVGAltGlyphElement.cpp:
3111        (WebCore::SVGAltGlyphElement::fillAttributeToPropertyTypeMap):
3112        * svg/SVGCircleElement.cpp:
3113        (WebCore::SVGCircleElement::fillAttributeToPropertyTypeMap):
3114        * svg/SVGClipPathElement.cpp:
3115        (WebCore::SVGClipPathElement::fillAttributeToPropertyTypeMap):
3116        * svg/SVGEllipseElement.cpp:
3117        (WebCore::SVGEllipseElement::fillAttributeToPropertyTypeMap):
3118        * svg/SVGFEBlendElement.cpp:
3119        (WebCore::SVGFEBlendElement::fillAttributeToPropertyTypeMap):
3120        * svg/SVGFEColorMatrixElement.cpp:
3121        (WebCore::SVGFEColorMatrixElement::fillAttributeToPropertyTypeMap):
3122        * svg/SVGFEComponentTransferElement.cpp:
3123        (WebCore::SVGFEComponentTransferElement::fillAttributeToPropertyTypeMap):
3124        * svg/SVGFECompositeElement.cpp:
3125        (WebCore::SVGFECompositeElement::fillAttributeToPropertyTypeMap):
3126        * svg/SVGFEConvolveMatrixElement.cpp:
3127        (WebCore::SVGFEConvolveMatrixElement::fillAttributeToPropertyTypeMap):
3128        * svg/SVGFEDiffuseLightingElement.cpp:
3129        (WebCore::SVGFEDiffuseLightingElement::fillAttributeToPropertyTypeMap):
3130        * svg/SVGFEDisplacementMapElement.cpp:
3131        (WebCore::SVGFEDisplacementMapElement::fillAttributeToPropertyTypeMap):
3132        * svg/SVGFEFloodElement.cpp:
3133        (WebCore::SVGFEFloodElement::fillAttributeToPropertyTypeMap):
3134        * svg/SVGFEGaussianBlurElement.cpp:
3135        (WebCore::SVGFEGaussianBlurElement::fillAttributeToPropertyTypeMap):
3136        * svg/SVGFEImageElement.cpp:
3137        (WebCore::SVGFEImageElement::fillAttributeToPropertyTypeMap):
3138        * svg/SVGFEMergeElement.cpp:
3139        (WebCore::SVGFEMergeElement::fillAttributeToPropertyTypeMap):
3140        * svg/SVGFEMorphologyElement.cpp:
3141        (WebCore::SVGFEMorphologyElement::fillAttributeToPropertyTypeMap):
3142        * svg/SVGFEOffsetElement.cpp:
3143        (WebCore::SVGFEOffsetElement::fillAttributeToPropertyTypeMap):
3144        * svg/SVGFESpecularLightingElement.cpp:
3145        (WebCore::SVGFESpecularLightingElement::fillAttributeToPropertyTypeMap):
3146        * svg/SVGFETileElement.cpp:
3147        (WebCore::SVGFETileElement::fillAttributeToPropertyTypeMap):
3148        * svg/SVGFETurbulenceElement.cpp:
3149        (WebCore::SVGFETurbulenceElement::fillAttributeToPropertyTypeMap):
3150        * svg/SVGFilterElement.cpp:
3151        (WebCore::SVGFilterElement::fillAttributeToPropertyTypeMap):
3152        * svg/SVGFilterPrimitiveStandardAttributes.cpp:
3153        (WebCore::SVGFilterPrimitiveStandardAttributes::fillPassedAttributeToPropertyTypeMap):
3154        * svg/SVGFilterPrimitiveStandardAttributes.h:
3155        * svg/SVGFontElement.cpp:
3156        (WebCore::SVGFontElement::fillAttributeToPropertyTypeMap):
3157        * svg/SVGForeignObjectElement.cpp:
3158        (WebCore::SVGForeignObjectElement::fillAttributeToPropertyTypeMap):
3159        * svg/SVGGlyphElement.cpp:
3160        (WebCore::SVGGlyphElement::fillAttributeToPropertyTypeMap):
3161        * svg/SVGGradientElement.cpp:
3162        (WebCore::SVGGradientElement::fillPassedAttributeToPropertyTypeMap):
3163        * svg/SVGGradientElement.h:
3164        * svg/SVGImageElement.cpp:
3165        (WebCore::SVGImageElement::fillAttributeToPropertyTypeMap):
3166        * svg/SVGLineElement.cpp:
3167        (WebCore::SVGLineElement::fillAttributeToPropertyTypeMap):
3168        * svg/SVGLinearGradientElement.cpp:
3169        (WebCore::SVGLinearGradientElement::fillAttributeToPropertyTypeMap):
3170        * svg/SVGMarkerElement.cpp:
3171        (WebCore::SVGMarkerElement::fillAttributeToPropertyTypeMap):
3172        * svg/SVGMaskElement.cpp:
3173        (WebCore::SVGMaskElement::fillAttributeToPropertyTypeMap):
3174        * svg/SVGMissingGlyphElement.cpp:
3175        (WebCore::SVGMissingGlyphElement::fillAttributeToPropertyTypeMap):
3176        * svg/SVGPathElement.cpp:
3177        (WebCore::SVGPathElement::fillAttributeToPropertyTypeMap):
3178        * svg/SVGPatternElement.cpp:
3179        (WebCore::SVGPatternElement::fillAttributeToPropertyTypeMap):
3180        * svg/SVGPolyElement.cpp:
3181        (WebCore::SVGPolyElement::fillAttributeToPropertyTypeMap):
3182        * svg/SVGRadialGradientElement.cpp:
3183        (WebCore::SVGRadialGradientElement::fillAttributeToPropertyTypeMap):
3184        * svg/SVGRectElement.cpp:
3185        (WebCore::SVGRectElement::fillAttributeToPropertyTypeMap):
3186        * svg/SVGStopElement.cpp:
3187        (WebCore::SVGStopElement::fillAttributeToPropertyTypeMap):
3188        * svg/SVGStyledElement.cpp:
3189        (WebCore::SVGStyledElement::fillPassedAttributeToPropertyTypeMap):
3190        * svg/SVGStyledElement.h:
3191        * svg/SVGStyledTransformableElement.cpp:
3192        (WebCore::SVGStyledTransformableElement::fillPassedAttributeToPropertyTypeMap):
3193        * svg/SVGStyledTransformableElement.h:
3194        * svg/SVGSwitchElement.cpp:
3195        (WebCore::SVGSwitchElement::fillAttributeToPropertyTypeMap):
3196        * svg/SVGSymbolElement.cpp:
3197        (WebCore::SVGSymbolElement::fillAttributeToPropertyTypeMap):
3198        * svg/SVGTRefElement.cpp:
3199        (WebCore::SVGTRefElement::fillAttributeToPropertyTypeMap):
3200        * svg/SVGTSpanElement.cpp:
3201        (WebCore::SVGTSpanElement::fillAttributeToPropertyTypeMap):
3202        * svg/SVGTextContentElement.cpp:
3203        (WebCore::SVGTextContentElement::fillPassedAttributeToPropertyTypeMap):
3204        * svg/SVGTextContentElement.h:
3205        * svg/SVGTextElement.cpp:
3206        (WebCore::SVGTextElement::fillAttributeToPropertyTypeMap):
3207        * svg/SVGTextPathElement.cpp:
3208        (WebCore::SVGTextPathElement::fillAttributeToPropertyTypeMap):
3209        * svg/SVGTextPositioningElement.cpp:
3210        (WebCore::SVGTextPositioningElement::fillPassedAttributeToPropertyTypeMap):
3211        * svg/SVGTextPositioningElement.h:
3212        * svg/SVGTitleElement.cpp:
3213        (WebCore::SVGTitleElement::fillAttributeToPropertyTypeMap):
3214        * svg/SVGUseElement.cpp:
3215        (WebCore::SVGUseElement::fillAttributeToPropertyTypeMap):
3216        * svg/SVGViewElement.cpp:
3217        (WebCore::SVGViewElement::fillAttributeToPropertyTypeMap):
3218
32192011-02-11  Andrey Adaikin  <aandrey@google.com>
3220
3221        Reviewed by Pavel Feldman.
3222
3223        Web Inspector: [REGRESSION] click on error message in console doesn't scroll into view
3224        https://bugs.webkit.org/show_bug.cgi?id=54089
3225
3226        * inspector/front-end/Drawer.js:
3227        (WebInspector.Drawer.prototype.show.animationFinished):
3228        (WebInspector.Drawer.prototype.show):
3229        (WebInspector.Drawer.prototype.hide):
3230        (WebInspector.Drawer.prototype.resize):
3231        (WebInspector.Drawer.prototype.immediatelyFinishAnimation):
3232        (WebInspector.Drawer.prototype._cancelAnimationIfNeeded):
3233        (WebInspector.Drawer.prototype._animateDrawerHeight.animationFinished):
3234        (WebInspector.Drawer.prototype._animateDrawerHeight):
3235        (WebInspector.Drawer.prototype._statusBarDragging):
3236        * inspector/front-end/inspector.js:
3237        (WebInspector.animateStyle):
3238        (WebInspector.animateStyle.forceComplete):
3239        (WebInspector.animateStyle.cancel):
3240        (WebInspector.showSourceLine):
3241
32422011-02-10  Nate Chapin  <japhet@chromium.org>
3243
3244        Reviewed by Adam Barth.
3245
3246        Make DocumentWriter a member of DocumentLoader
3247        instead of FrameLoader.
3248        https://bugs.webkit.org/show_bug.cgi?id=50489
3249
3250        Refactor, no new tests.
3251
3252        * bindings/ScriptControllerBase.cpp:
3253        (WebCore::ScriptController::executeIfJavaScriptURL):
3254        * dom/Document.cpp:
3255        (WebCore::Document::Document):
3256        (WebCore::Document::explicitClose):
3257        (WebCore::Document::lastModified):
3258        (WebCore::Document::initSecurityContext):
3259        (WebCore::Document::updateURLForPushOrReplaceState):
3260        * dom/Document.h:
3261        (WebCore::Document::setDocumentLoader):
3262        (WebCore::Document::loader):
3263        * html/MediaDocument.cpp:
3264        (WebCore::MediaDocument::replaceMediaElementTimerFired):
3265        * html/PluginDocument.cpp:
3266        (WebCore::PluginDocumentParser::createDocumentStructure):
3267        * loader/DocumentLoader.cpp:
3268        (WebCore::DocumentLoader::DocumentLoader):
3269        (WebCore::DocumentLoader::finishedLoading):
3270        (WebCore::DocumentLoader::commitData):
3271        (WebCore::DocumentLoader::setupForReplaceByMIMEType):
3272        (WebCore::DocumentLoader::setFrame):
3273        * loader/DocumentLoader.h:
3274        (WebCore::DocumentLoader::writer):
3275        * loader/DocumentWriter.cpp:
3276        (WebCore::DocumentWriter::begin):
3277        * loader/DocumentWriter.h:
3278        (WebCore::DocumentWriter::setFrame):
3279        * loader/FrameLoader.cpp:
3280        (WebCore::FrameLoader::FrameLoader):
3281        (WebCore::FrameLoader::init):
3282        (WebCore::FrameLoader::clear):
3283        (WebCore::FrameLoader::receivedFirstData):
3284        (WebCore::FrameLoader::transitionToCommitted):
3285        (WebCore::FrameLoader::open):
3286        (WebCore::FrameLoader::finishedLoadingDocument):
3287        (WebCore::FrameLoader::addExtraFieldsToRequest):
3288        * loader/FrameLoader.h:
3289        (WebCore::FrameLoader::notifier):
3290        * svg/graphics/SVGImage.cpp:
3291        (WebCore::SVGImage::dataChanged):
3292
32932011-02-10  Pavel Feldman  <pfeldman@chromium.org>
3294
3295        Reviewed by Yury Semikhatsky.
3296
3297        Web Inspector: make InspectorAgent own sub-agents, align agent creation/deletion routines.
3298        https://bugs.webkit.org/show_bug.cgi?id=54227
3299
3300        * dom/Document.cpp:
3301        (WebCore::Document::finishedParsing):
3302        * inspector/InspectorAgent.cpp:
3303        (WebCore::InspectorAgent::restoreInspectorStateFromCookie):
3304        (WebCore::InspectorAgent::setFrontend):
3305        (WebCore::InspectorAgent::disconnectFrontend):
3306        (WebCore::InspectorAgent::releaseFrontendLifetimeAgents):
3307        (WebCore::InspectorAgent::didCommitLoad):
3308        (WebCore::InspectorAgent::domContentLoadedEventFired):
3309        (WebCore::InspectorAgent::loadEventFired):
3310        (WebCore::InspectorAgent::startTimelineProfiler):
3311        (WebCore::InspectorAgent::stopTimelineProfiler):
3312        * inspector/InspectorAgent.h:
3313        * inspector/InspectorCSSAgent.cpp:
3314        * inspector/InspectorDOMAgent.cpp:
3315        (WebCore::InspectorDOMAgent::InspectorDOMAgent):
3316        (WebCore::InspectorDOMAgent::startListening):
3317        (WebCore::InspectorDOMAgent::stopListening):
3318        (WebCore::InspectorDOMAgent::mainDOMContentLoaded):
3319        (WebCore::InspectorDOMAgent::loadEventFired):
3320        * inspector/InspectorDOMAgent.h:
3321        (WebCore::InspectorDOMAgent::create):
3322        * inspector/InspectorDOMStorageAgent.cpp:
3323        (WebCore::InspectorDOMStorageAgent::~InspectorDOMStorageAgent):
3324        * inspector/InspectorDOMStorageAgent.h:
3325        (WebCore::InspectorDOMStorageAgent::create):
3326        * inspector/InspectorDOMStorageResource.h:
3327        * inspector/InspectorDatabaseAgent.cpp:
3328        (WebCore::InspectorDatabaseAgent::~InspectorDatabaseAgent):
3329        (WebCore::InspectorDatabaseAgent::executeSQL):
3330        (WebCore::InspectorDatabaseAgent::selectDatabase):
3331        (WebCore::InspectorDatabaseAgent::InspectorDatabaseAgent):
3332        * inspector/InspectorDatabaseAgent.h:
3333        (WebCore::InspectorDatabaseAgent::FrontendProvider::create):
3334        (WebCore::InspectorDatabaseAgent::FrontendProvider::~FrontendProvider):
3335        (WebCore::InspectorDatabaseAgent::FrontendProvider::frontend):
3336        (WebCore::InspectorDatabaseAgent::FrontendProvider::clearFrontend):
3337        (WebCore::InspectorDatabaseAgent::FrontendProvider::FrontendProvider):
3338        (WebCore::InspectorDatabaseAgent::create):
3339        * inspector/InspectorDatabaseResource.cpp:
3340        (WebCore::InspectorDatabaseResource::InspectorDatabaseResource):
3341        (WebCore::InspectorDatabaseResource::bind):
3342        * inspector/InspectorDatabaseResource.h:
3343        * inspector/InspectorInstrumentation.cpp:
3344        (WebCore::InspectorInstrumentation::domContentLoadedEventFiredImpl):
3345        (WebCore::InspectorInstrumentation::loadEventFiredImpl):
3346        * inspector/InspectorInstrumentation.h:
3347        (WebCore::InspectorInstrumentation::domContentLoadedEventFired):
3348        (WebCore::InspectorInstrumentation::loadEventFired):
3349        * inspector/InspectorState.cpp:
3350        (WebCore::InspectorState::InspectorState):
3351        (WebCore::InspectorState::mute):
3352        (WebCore::InspectorState::updateCookie):
3353        * inspector/InspectorState.h:
3354        (WebCore::InspectorState::~InspectorState):
3355        * inspector/InspectorTimelineAgent.cpp:
3356        (WebCore::InspectorTimelineAgent::restore):
3357        (WebCore::InspectorTimelineAgent::~InspectorTimelineAgent):
3358        (WebCore::InspectorTimelineAgent::didCommitLoad):
3359        (WebCore::InspectorTimelineAgent::setFrontend):
3360        (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
3361        * inspector/InspectorTimelineAgent.h:
3362        (WebCore::InspectorTimelineAgent::create):
3363        * page/DOMWindow.cpp:
3364        (WebCore::DOMWindow::dispatchLoadEvent):
3365
33662011-02-11  Pavel Feldman  <pfeldman@chromium.org>
3367
3368        Reviewed by Yury Semikhatsky.
3369
3370        Web Inspector: command line API $0 regressed.
3371        https://bugs.webkit.org/show_bug.cgi?id=54283
3372
3373        * inspector/InjectedScriptSource.js:
3374
33752011-02-11  Janne Koskinen  <janne.p.koskinen@digia.com>
3376
3377        Reviewed by Andreas Kling.
3378
3379        [Qt][S60] Vertical borders of buttons and frames are misaligned
3380        https://bugs.webkit.org/show_bug.cgi?id=51169
3381
3382        Force anti-aliasing for lines and rects when using OpenVG backend on Symbian.
3383        OpenVG cannot guarantee rendering to be on pixel in floating point co-ordinates
3384        without anti-aliasing. Patch idea by Laszlo Agocs.
3385
3386        * platform/graphics/qt/GraphicsContextQt.cpp:
3387        (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
3388
33892011-02-11  Mario Sanchez Prada  <msanchez@igalia.com>
3390
3391        Reviewed by Xan Lopez.
3392
3393        [GTK] events missing when a document is (re)loaded
3394        https://bugs.webkit.org/show_bug.cgi?id=25831
3395
3396        Make sure webArea returns a proper name and that a signal
3397        'state-change::defunct' is emitted when detaching the wrapper.
3398
3399        Test: platform/gtk/accessibility/document-reload-events.html
3400
3401        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
3402        (webkit_accessible_get_name): Returns the current document's title
3403        as fallback mechanism for webArea objects.
3404        (webkit_accessible_detach): Emit 'state-change::defunct' function
3405        as soon as the wrapper is detached from the related core object.
3406
34072011-02-11  Pavel Feldman  <pfeldman@chromium.org>
3408
3409        Reviewed by Yury Semikhatsky.
3410
3411        Web Inspector: command line's API inspect() is broken.
3412        https://bugs.webkit.org/show_bug.cgi?id=54275
3413
3414        Test: inspector/command-line-api.html
3415
3416        * inspector/InjectedScriptSource.js:
3417
34182011-02-11  Adam Barth  <abarth@webkit.org>
3419
3420        Turns out window.crypto is supposed to be readonly.
3421
3422        * page/DOMWindow.idl:
3423
34242011-02-11  Adam Barth  <abarth@webkit.org>
3425
3426        Actually add Crypto.cpp to the Windows build.  I'm terrible.
3427
3428        * WebCore.vcproj/WebCore.vcproj:
3429
34302011-02-11  Adam Barth  <abarth@webkit.org>
3431
3432        Attempt to fix the Windows build.  Apparently we don't support
3433        conditional attributes on functions.  This patch makes the whole Crypto
3434        interface conditional on ArrayBuffer support.
3435
3436        * page/DOMWindow.idl:
3437        * page/Crypto.cpp:
3438        * page/Crypto.h:
3439        * page/Crypto.idl:
3440
34412011-02-10  Antti Koivisto  <antti@apple.com>
3442
3443        Reviewed by Dave Hyatt.
3444
3445        Enable ancestor identifier filtering for tree building
3446        https://bugs.webkit.org/show_bug.cgi?id=54241
3447        
3448        Call CSSStyleSelector::push/popParent() during tree building too, fix up the parent
3449        element stack as needed.
3450        
3451        This roughly halves the remaining time in style matching over a typical page load.
3452
3453        * css/CSSStyleSelector.cpp:
3454        (WebCore::CSSStyleSelector::pushParentStackFrame):
3455        (WebCore::CSSStyleSelector::popParentStackFrame):
3456        (WebCore::CSSStyleSelector::pushParent):
3457        (WebCore::CSSStyleSelector::popParent):
3458        * css/CSSStyleSelector.h:
3459        (WebCore::CSSStyleSelector::ParentStackFrame::ParentStackFrame):
3460        * dom/Document.h:
3461        (WebCore::Document::styleSelectorIfExists):
3462        * dom/Element.cpp:
3463        (WebCore::Element::beginParsingChildren):
3464        (WebCore::Element::finishParsingChildren):
3465        * dom/Element.h:
3466
34672011-02-10  Adam Barth  <abarth@webkit.org>
3468
3469        Reviewed by Eric Seidel.
3470
3471        WebKit should have a cryptographic RNG
3472        https://bugs.webkit.org/show_bug.cgi?id=22049
3473
3474        Add crypto.getRandomValues.  Yes, all these diffs are required to
3475        expose a single function to the DOM.
3476
3477        Test: security/crypto-random-values.html
3478
3479        * Android.mk:
3480        * CMakeLists.txt:
3481        * DerivedSources.cpp:
3482        * DerivedSources.make:
3483        * ForwardingHeaders/wtf/CryptographicallyRandomNumber.h: Added.
3484        * GNUmakefile.am:
3485        * WebCore.gypi:
3486        * WebCore.pri:
3487        * WebCore.pro:
3488        * WebCore.vcproj/WebCore.vcproj:
3489        * WebCore.xcodeproj/project.pbxproj:
3490        * bindings/js/JSDOMWindowCustom.cpp:
3491        * bindings/v8/custom/V8DOMWindowCustom.cpp:
3492        * config.h:
3493        * page/Crypto.cpp: Added.
3494        (WebCore::Crypto::Crypto):
3495        (WebCore::Crypto::getRandomValues):
3496        * page/Crypto.h: Added.
3497        (WebCore::Crypto::create):
3498        * page/Crypto.idl: Added.
3499        * page/DOMWindow.cpp:
3500        (WebCore::DOMWindow::clear):
3501        (WebCore::DOMWindow::crypto):
3502        * page/DOMWindow.h:
3503        (WebCore::DOMWindow::optionalCrypto):
3504        * page/DOMWindow.idl:
3505
35062011-02-11  Ryuan Choi  <ryuan.choi@samsung.com>
3507
3508        Unreviewed build fix.
3509
3510        [GTK] Build break with 2.18.3
3511        https://bugs.webkit.org/show_bug.cgi?id=54057
3512
3513        * platform/gtk/ScrollbarThemeGtk2.cpp: Include GtkVersioning.h
3514
35152011-02-11  Cosmin Truta  <ctruta@chromium.org>
3516
3517        Reviewed by Adam Barth.
3518
3519        Templatize KURLGooglePrivate::init
3520        https://bugs.webkit.org/show_bug.cgi?id=53749
3521
3522        No new tests. Refactoring.
3523
3524        * platform/KURLGoogle.cpp:
3525        (WebCore::KURLGooglePrivate::init):
3526        * platform/KURLGooglePrivate.h:
3527
35282011-02-10  Andy Estes  <aestes@apple.com>
3529
3530        Reviewed by Eric Seidel.
3531
3532        Convert ContainerNode::firstElementChild() to a free function.
3533        https://bugs.webkit.org/show_bug.cgi?id=54269
3534
3535        No new tests. No change in behavior.
3536        
3537        It seemed incorrect to have a method on ContainerNode that had the
3538        concept of an Element but couldn't return an Element*, but a method on
3539        Element could not be called by holders of ContainerNodes or other
3540        non-Element ContainerNode subclasses. A free function can both return
3541        an Element* and be called by anyone with a ContainerNode*.
3542
3543        * dom/ContainerNode.h:
3544        (WebCore::ContainerNode::lastChild):
3545        (WebCore::Node::lastChild):
3546        * dom/Document.cpp:
3547        (WebCore::Document::cacheDocumentElement):
3548        * dom/Element.cpp:
3549        (WebCore::Element::firstElementChild):
3550        * dom/Element.h:
3551        (WebCore::firstElementChild):
3552        * html/parser/HTMLTreeBuilder.cpp:
3553        (WebCore::HTMLTreeBuilder::FragmentParsingContext::finished):
3554
35552011-02-10  Mads Ager  <ager@chromium.org>
3556
3557        Reviewed by Nate Chapin.
3558
3559        [V8] Don't crash on exception getting event handler function
3560        https://bugs.webkit.org/show_bug.cgi?id=54216
3561
3562        Check for exceptions when attempting to get the handleEvent property
3563        of an event-handler object.
3564
3565        Test: fast/dom/exception-getting-event-handler.html
3566
3567        * bindings/v8/V8EventListener.cpp:
3568        (WebCore::V8EventListener::getListenerFunction):
3569
35702011-02-10  Naoki Takano  <takano.naoki@gmail.com>
3571
3572        Reviewed by James Robinson.
3573
3574        [Chromium] Layout Test canvas/philip/tests/2d.composite.globalAlpha.fill.html with --accelerated-2d-canvas.
3575        https://bugs.webkit.org/show_bug.cgi?id=53857
3576
3577        globalAlpha is not applied to fillPath() and fillRect().
3578
3579        Test: fast/canvas/2d.composite.globalAlpha.fillPath.html and canvas/philip/tests/2d.composite.globalAlpha.fill.html with --accelerated-2d-canvas.
3580
3581        * platform/graphics/chromium/GLES2Canvas.cpp:
3582        (WebCore::GLES2Canvas::State::applyAlpha): Append a new function to apply global alpha when fillRect() and fillPath() are called.
3583        (WebCore::GLES2Canvas::fillRect): Global alpha is applied to m_fillColor.
3584        (WebCore::GLES2Canvas::fillPath): Global alpha is applied to m_fillColor.
3585
35862011-02-10  Andy Estes  <aestes@apple.com>
3587
3588        Reviewed by Adam Barth.
3589
3590        Remove an unneeded argument from HTMLDocument::create().
3591        https://bugs.webkit.org/show_bug.cgi?id=54268
3592        
3593        Now that HTMLTreeBuilder no longer uses a dummy HTMLDocument for
3594        fragment parsing, there isn't a need to explicitly specify a baseURL
3595        when constructing an HTMLDocument. We can remove the unneeded argument.
3596        
3597        Also fix some style issues in Document.h and HTMLDocument.h caught by
3598        check-webkit-style.
3599
3600        No new tests. No change in behavior.
3601
3602        * dom/Document.cpp:
3603        (WebCore::Document::Document):
3604        * dom/Document.h:
3605        * html/HTMLDocument.cpp:
3606        (WebCore::HTMLDocument::HTMLDocument):
3607        * html/HTMLDocument.h:
3608        (WebCore::HTMLDocument::create):
3609
36102011-02-10  Michael Saboff  <msaboff@apple.com>
3611
3612        Reviewed by Geoffrey Garen.
3613
3614        Cached JavaScript Parser Data Being Left in Memory Cache
3615        https://bugs.webkit.org/show_bug.cgi?id=54245
3616
3617        Added logic in CachedScript to clear SourceProviderCache data in
3618        destroyDecodedData().  Added and changed CachedScript timeout to
3619        act similar to CachedImage.  Changed didAddClient to call super
3620        class method instead of duplicating the logic in the derived
3621        classes.
3622
3623        * loader/cache/CachedImage.cpp:
3624        (WebCore::CachedImage::didAddClient):
3625        * loader/cache/CachedScript.cpp:
3626        (WebCore::CachedScript::didAddClient):
3627        (WebCore::CachedScript::allClientsRemoved):
3628        (WebCore::CachedScript::script):
3629        (WebCore::CachedScript::destroyDecodedData):
3630        * loader/cache/CachedScript.h:
3631
36322011-02-10  Cosmin Truta  <ctruta@chromium.org>
3633
3634        Reviewed by David Levin.
3635
3636        Fix style in KURLGooglePrivate
3637        https://bugs.webkit.org/show_bug.cgi?id=54228
3638
3639        Replace occurrences of NULL with 0, '\0' or null (as applicable),
3640        to appease check-webkit-style.
3641
3642        No new tests. This is a style fix.
3643
3644        * platform/KURLGoogle.cpp:
3645        * platform/KURLGooglePrivate.h:
3646
36472011-02-10  Andy Estes  <aestes@apple.com>
3648
3649        Reviewed by Darin Adler.
3650
3651        HTML5 TreeBuilder regressed a Peacekeeper DOM test by 40%
3652        https://bugs.webkit.org/show_bug.cgi?id=48719
3653        
3654        The HTML5 fragment parsing algorithm specifies that a new Document
3655        should be created to serve as the temporary parent of fragment nodes
3656        during parsing. Document creation is expensive and accounts for ~38% of
3657        the Peacekeeper DOM performance regression. Avoid the cost of creating
3658        a dummy document by using the already-created DocumentFragment as the
3659        root node during fragment parsing.
3660        
3661        With this patch, the regression in Peacekeeper from Safari 5.0.3 to ToT
3662        is ~24%.
3663
3664        Test: fast/parser/fragment-parser-doctype.html
3665
3666        * dom/ContainerNode.h:
3667        (WebCore::ContainerNode::firstElementChild): Add a method that returns
3668        the first element-typed child from a ContainerNode.
3669        * dom/Document.cpp:
3670        (WebCore::Document::cacheDocumentElement): Call
3671        ContainerNode::firstElementChild() to retrieve and cache the document
3672        element.
3673        * html/parser/HTMLConstructionSite.cpp:
3674        (WebCore::HTMLConstructionSite::HTMLConstructionSite): Initialize the
3675        root ContainerNode.
3676        (WebCore::HTMLConstructionSite::detach): Clear the reference to the
3677        root ContainerNode.
3678        (WebCore::HTMLConstructionSite::insertHTMLHtmlStartTagBeforeHTML):
3679        Attach the new element to the root ContainerNode.
3680        (WebCore::HTMLConstructionSite::insertDoctype): Ditto.
3681        (WebCore::HTMLConstructionSite::insertCommentOnDocument): Ditto.
3682        * html/parser/HTMLConstructionSite.h: Store a pointer to a
3683        ContainerNode that will be used as the root node for document parsing.
3684        This node might or might not be the same as m_document.
3685        * html/parser/HTMLTreeBuilder.cpp:
3686        (WebCore::HTMLTreeBuilder::HTMLTreeBuilder): Initialize the
3687        HTMLConstructionSite with the correct root ContainerNode based on
3688        whether or not we're parsing a fragment.
3689        (WebCore::HTMLTreeBuilder::FragmentParsingContext::FragmentParsingContext):
3690        Remove m_dummyDocumentForFragmentParsing.
3691        (WebCore::HTMLTreeBuilder::FragmentParsingContext::finished): If the
3692        fragment has a context element, store only the children of the root
3693        element (HTML5 Section 10.4, Step 7).
3694        * html/parser/HTMLTreeBuilder.h:
3695
36962011-02-10  Beth Dakin  <bdakin@apple.com>
3697
3698        Reviewed by Oliver Hunt.
3699
3700        Speculative fix for <rdar://problem/8971107> CrashTracer: 6 crashes
3701        in WebProcess at com.apple.AppKit: 
3702        -[NSAnimation(NSInternal) _advanceTimeWithTimer:] + 154
3703
3704        * platform/mac/ScrollAnimatorMac.mm:
3705        (-[ScrollbarPartAnimation scrollAnimatorDestroyed]):
3706
37072011-02-09  Jeremy Orlow  <jorlow@chromium.org>
3708
3709        Reviewed by Nate Chapin.
3710
3711        IndexedDB event targets need to ensure their wrappers aren't garbage collected
3712        https://bugs.webkit.org/show_bug.cgi?id=54144
3713
3714        hasActivityPending should return true as long as it's possible that we'll
3715        fire more event listeners on our event targets. It is still possible for
3716        user generated events to run into problems, but I'm not sure how to address
3717        that yet (or how big of a deal it is).
3718
3719        There's really no way to test this deterministically. Testing by hand makes
3720        it seem like this patch works as expected though.
3721
3722        * storage/IDBCursorBackendImpl.cpp:
3723        * storage/IDBDatabase.cpp:
3724        (WebCore::IDBDatabase::IDBDatabase):
3725        (WebCore::IDBDatabase::~IDBDatabase):
3726        (WebCore::IDBDatabase::hasPendingActivity):
3727        (WebCore::IDBDatabase::stop):
3728        * storage/IDBDatabase.h:
3729        * storage/IDBRequest.cpp:
3730        (WebCore::IDBRequest::IDBRequest):
3731        (WebCore::IDBRequest::hasPendingActivity):
3732        (WebCore::IDBRequest::dispatchEvent):
3733        (WebCore::IDBRequest::enqueueEvent):
3734        * storage/IDBRequest.h:
3735        * storage/IDBTransaction.cpp:
3736        (WebCore::IDBTransaction::finished):
3737        (WebCore::IDBTransaction::hasPendingActivity):
3738        (WebCore::IDBTransaction::dispatchEvent):
3739        (WebCore::IDBTransaction::canSuspend):
3740        (WebCore::IDBTransaction::contextDestroyed):
3741        (WebCore::IDBTransaction::enqueueEvent):
3742        * storage/IDBTransaction.h:
3743
37442011-02-10  Ademar de Souza Reis Jr  <ademar.reis@openbossa.org>
3745
3746        Reviewed by Andreas Kling.
3747
3748        [Qt] create pkg-config files for mingw
3749        https://bugs.webkit.org/show_bug.cgi?id=54238
3750
3751        (mingw is mostly the same as unix)
3752
3753        This change was applied in the Qt repository (qt/src/3rdparty/webkit),
3754        so we should do the same here in QtWebKit.
3755
3756        Patch by Mark Brand <mabrand@mabrand.nl>, reviewed (there) by
3757        Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
3758        45fe2dddc3a0677b9ec9fce09f07cd4129e37afa
3759
3760        * WebCore.pro:
3761
37622011-02-10  Andreas Kling  <kling@webkit.org>
3763
3764        Reviewed by Antti Koivisto.
3765
3766        RenderStyle: Remove duplicate comparison of InheritedFlags::_text_transform
3767        https://bugs.webkit.org/show_bug.cgi?id=54246
3768
3769        * rendering/style/RenderStyle.h:
3770
37712011-02-10  Dirk Schulze  <krit@webkit.org>
3772
3773        Reviewed by Andreas Kling.
3774
3775        SVG animation avoid unnecessary adjust for currentColor
3776        https://bugs.webkit.org/show_bug.cgi?id=54243
3777
3778        At the moment we try to adjust every animation value for currentColor - independent of the animation type.
3779        Since the value is a string and the target element may needs to get called by getElementById, this could
3780        be an expensive and unnecessary operation. Also after we adjust for currentColor, we save the result back
3781        as a string and parse it to Color afterwards again.
3782        With the patch we just adjust an animation value, if we use color animation. The color won't get saved and
3783        parsed as a string again.
3784
3785        No change of functionality, no new tests.
3786
3787        * svg/SVGAnimateElement.cpp:
3788        (WebCore::adjustForCurrentColor):
3789        (WebCore::SVGAnimateElement::calculateFromAndToValues):
3790        (WebCore::SVGAnimateElement::calculateFromAndByValues):
3791        * svg/SVGAnimationElement.cpp:
3792        (WebCore::SVGAnimationElement::currentValuesForValuesAnimation):
3793        (WebCore::SVGAnimationElement::startedActiveInterval):
3794
37952011-02-10  Ademar de Souza Reis Jr  <ademar.reis@openbossa.org>
3796
3797        Reviewed by Andreas Kling.
3798
3799        [Qt] Remove the use of deprecated qFindChildren()
3800        https://bugs.webkit.org/show_bug.cgi?id=54232
3801
3802        This was applied on the Qt repository and affects QtWebKit there.
3803        (13833beb641289c45faed337848d37280195aadc)
3804
3805        The side effect of this change is that we won't be able to build
3806        QtWebKit with MSVC 6, as it doesn't support member template functions
3807        (not sure if that's possible today anyway).
3808
3809        Original patch from Olivier Goffart <olivier.goffart@nokia.com>, with
3810        review reported as being from the mailing list.
3811
3812        The changes are result of the following commands:
3813
3814            git grep -O"sed -i 's/qF\(indChildr*e*n*<[^>]*>\)(this,* */f\\1(/'" qFindChild
3815            git grep -O"sed -i 's/qF\(indChildr*e*n*<[^>]*>\)(&\([^\(),]*\),* */\\2.f\\1(/'" qFindChild
3816            git grep -O"sed -i 's/qF\(indChildr*e*n*<[^>]*>\)(\([^\(),]*()\),* */\\2->f\\1(/'" qFindChild
3817            git grep -O"sed -i 's/qF\(indChildr*e*n*<[^>]*>\)(\([^\(),]*\):\([^\(),]*\),* */(\\2:\\3)->f\\1(/'" qFindChild
3818            git grep -O"sed -i 's/qF\(indChildr*e*n*<[^>]*>\)(\([^\(),]*\),* */\\2->f\\1(/'" qFindChild
3819
3820        * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
3821        (WebCore::MediaPlayerPrivatePhonon::MediaPlayerPrivatePhonon):
3822
38232011-02-10  Ademar de Souza Reis Jr  <ademar.reis@openbossa.org>
3824
3825        Reviewed by Andreas Kling.
3826
3827        [Qt] Rename build target from "embedded" to "qpa"
3828        https://bugs.webkit.org/show_bug.cgi?id=54233
3829
3830        This flag is used by Qt's configure script to enable a QPA build
3831        ("QPA is a window system agnostic implementation of Qt" --
3832        previously known as lighthouse).
3833
3834        On the Qt repository, this was changed by two commits:
3835
3836        13a0b4935900093607f2b3b7688e1452d22770fd
3837        (from embedded to embedded_lite)
3838
3839        9716e12e0f5590ebc23ad9fb7ba75c6a3c5aadab
3840        (from embedded_lite to qpa)
3841
3842        * WebCore.pro:
3843
38442011-02-10  Kenneth Russell  <kbr@google.com>
3845
3846        Reviewed by James Robinson.
3847
3848        Incorporate algorithm for processing paths into GPU-renderable triangle meshes
3849        https://bugs.webkit.org/show_bug.cgi?id=45521
3850
3851        Adding an implementation of Loop and Blinn's GPU accelerated path
3852        rendering algorithm from GPU Gems 3. This implementation pays
3853        particular attention to the efficiency of the curve subdivision
3854        phase needed for correct rendering. It utilizes the OpenGL utility
3855        library tessellator for triangulation of the interior of the
3856        shape. The regions handled by Loop and Blinn's algorithm are
3857        handled by the local triangulator previously incorporated.
3858
3859        No tests yet; pixel tests will eventually be used to verify this
3860        algorithm and prevent regressions.
3861
3862        * platform/graphics/gpu/LoopBlinnPathProcessor.cpp: Added.
3863        (WebCore::LoopBlinnPathProcessorImplementation::Segment::Segment):
3864        (WebCore::LoopBlinnPathProcessorImplementation::Segment::setup):
3865        (WebCore::LoopBlinnPathProcessorImplementation::Segment::kind):
3866        (WebCore::LoopBlinnPathProcessorImplementation::Segment::getPoint):
3867        (WebCore::LoopBlinnPathProcessorImplementation::Segment::next):
3868        (WebCore::LoopBlinnPathProcessorImplementation::Segment::prev):
3869        (WebCore::LoopBlinnPathProcessorImplementation::Segment::setNext):
3870        (WebCore::LoopBlinnPathProcessorImplementation::Segment::setPrev):
3871        (WebCore::LoopBlinnPathProcessorImplementation::Segment::contour):
3872        (WebCore::LoopBlinnPathProcessorImplementation::Segment::subdivide):
3873        (WebCore::LoopBlinnPathProcessorImplementation::Segment::boundingBox):
3874        (WebCore::LoopBlinnPathProcessorImplementation::Segment::numCrossingsForXRay):
3875        (WebCore::LoopBlinnPathProcessorImplementation::Segment::numberOfTriangles):
3876        (WebCore::LoopBlinnPathProcessorImplementation::Segment::getTriangle):
3877        (WebCore::LoopBlinnPathProcessorImplementation::Segment::numberOfInteriorVertices):
3878        (WebCore::LoopBlinnPathProcessorImplementation::Segment::getInteriorVertex):
3879        (WebCore::LoopBlinnPathProcessorImplementation::Segment::markedForSubdivision):
3880        (WebCore::LoopBlinnPathProcessorImplementation::Segment::setMarkedForSubdivision):
3881        (WebCore::LoopBlinnPathProcessorImplementation::Segment::toString):
3882        (WebCore::LoopBlinnPathProcessorImplementation::Segment::computeBoundingBox):
3883        (WebCore::LoopBlinnPathProcessorImplementation::Contour::Contour):
3884        (WebCore::LoopBlinnPathProcessorImplementation::Contour::add):
3885        (WebCore::LoopBlinnPathProcessorImplementation::Contour::subdivide):
3886        (WebCore::LoopBlinnPathProcessorImplementation::Contour::begin):
3887        (WebCore::LoopBlinnPathProcessorImplementation::Contour::end):
3888        (WebCore::LoopBlinnPathProcessorImplementation::Contour::isOrientedCounterClockwise):
3889        (WebCore::LoopBlinnPathProcessorImplementation::Contour::setIsOrientedCounterClockwise):
3890        (WebCore::LoopBlinnPathProcessorImplementation::Contour::boundingBox):
3891        (WebCore::LoopBlinnPathProcessorImplementation::Contour::fillSide):
3892        (WebCore::LoopBlinnPathProcessorImplementation::Contour::setFillSide):
3893        (WebCore::LoopBlinnPathProcessorImplementation::Segment::triangulate):
3894        (WebCore::LoopBlinnPathProcessor::LoopBlinnPathProcessor):
3895        (WebCore::LoopBlinnPathProcessor::~LoopBlinnPathProcessor):
3896        (WebCore::LoopBlinnPathProcessor::process):
3897        (WebCore::LoopBlinnPathProcessor::buildContours):
3898        (WebCore::LoopBlinnPathProcessor::allSegmentsOverlappingY):
3899        (WebCore::LoopBlinnPathProcessor::determineSidesToFill):
3900        (WebCore::LoopBlinnPathProcessor::determineOrientation):
3901        (WebCore::SweepData::SweepEvent::SweepEvent):
3902        (WebCore::SweepData::SweepEvent::setup):
3903        (WebCore::SweepData::SweepEvent::x):
3904        (WebCore::SweepData::SweepEvent::entry):
3905        (WebCore::SweepData::SweepEvent::interval):
3906        (WebCore::SweepData::SweepEvent::operator<):
3907        (WebCore::SweepData::trianglesOverlap):
3908        (WebCore::LoopBlinnPathProcessor::subdivideCurves):
3909        (WebCore::LoopBlinnPathProcessor::conditionallySubdivide):
3910        (WebCore::LoopBlinnPathProcessor::subdivideCurvesSlow):
3911        (WebCore::TessellationState::vertexCallback):
3912        (WebCore::TessellationState::combineCallback):
3913        (WebCore::TessellationState::edgeFlagCallback):
3914        (WebCore::LoopBlinnPathProcessor::tessellateInterior):
3915        * platform/graphics/gpu/LoopBlinnPathProcessor.h: Added.
3916
39172011-02-10  Ademar de Souza Reis Jr  <ademar.reis@openbossa.org>
3918
3919        Reviewed by Andreas Kling.
3920
3921        [Qt] Remove the use of deprecated qVariant*
3922        https://bugs.webkit.org/show_bug.cgi?id=54229
3923
3924        This was applied on the Qt repository and affects QtWebKit there.
3925        (633f3f45e5420663cf4ceadea79e62fea44cd2eb)
3926
3927        The side effect of this change is that we won't be able to build
3928        QtWebKit with MSVC 6, as it doesn't support member template functions
3929        (not sure if it's possible today anyway).
3930
3931        Original patch from Olivier Goffart <olivier.goffart@nokia.com>, with
3932        review reported as being from the mailing list.
3933
3934        The changes are result of the following commands:
3935
3936            git grep -O"sed -i 's/qVariantValue</qvariant_cast</'" qVariantValue
3937            git grep -O"sed -i 's/qVariantSetValue(\([^&*\(),]*\), */\\1.setValue(/'" qVariantSetValue
3938            git grep -O"sed -i 's/qVariantSetValue *<\([^>]*\)> *(\([^&*\(),]*\), */\\2.setValue<\\1>(/'" qVariantSetValue
3939            git grep -O"sed -i 's/qVariantCanConvert *<\([^>]*\)> *(\([^&*\(),]*\))/\\2.canConvert<\\1>()/g'" qVariantCanConvert
3940            git grep -O"sed -i 's/qVariantCanConvert *<\([^>]*\)> *(\([^&*\(),]*([^&*\(),]*)\))/\\2.canConvert<\\1>()/g'" qVariantCanConvert
3941            git grep -O"sed -i 's/qVariantFromValue\( *[(<]\)/QVariant::fromValue\\1/'" qVariantFromValue
3942
3943        * bridge/qt/qt_runtime.cpp:
3944        (JSC::Bindings::convertValueToQVariant):
3945        * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
3946        (WebCore::MediaPlayerPrivateQt::commitLoad):
3947
39482011-02-10  Nico Weber  <thakis@chromium.org>
3949
3950        Reviewed by Darin Adler.
3951
3952        Fix clang warning "WebCore::HTMLAreaElement::getRect' hides overloaded virtual function [-Woverloaded-virtual]"
3953        https://bugs.webkit.org/show_bug.cgi?id=54221
3954
3955        The method name conflicts with ContainerNode::getRect() so rename it to
3956        computeRect(). Rename getPath() to computePath() for consistency as
3957        well.
3958
3959        No intended functionality change, covered by existing tests.
3960
3961        * accessibility/AccessibilityImageMapLink.cpp:
3962        (WebCore::AccessibilityImageMapLink::elementRect):
3963        * html/HTMLAreaElement.cpp:
3964        (WebCore::HTMLAreaElement::computePath):
3965        (WebCore::HTMLAreaElement::computeRect):
3966        * html/HTMLAreaElement.h:
3967        * page/SpatialNavigation.cpp:
3968        (WebCore::virtualRectForAreaElementAndDirection):
3969        * rendering/RenderImage.cpp:
3970        (WebCore::RenderImage::paintFocusRing):
3971
39722011-02-10  Alexis Menard  <alexis.menard@nokia.com>
3973
3974        Reviewed by Andreas Kling.
3975
3976        [Qt] Default focus ring is too wide
3977        https://bugs.webkit.org/show_bug.cgi?id=51854
3978
3979        We now respect the outline property and html.css defines the outline of the focus
3980        ring to be 5px. This is propagated until GraphicsContext::drawFocusRing which uses
3981        it as the pen size. We should ignore the size and keep a default one. I also
3982        reverted the SolidLine to DotLine so that the selection looks nicer. Chromium Skia,
3983        CG Win, Haiku, WinCE ports also ignore the width.
3984
3985        * platform/graphics/qt/GraphicsContextQt.cpp:
3986        (WebCore::drawFocusRingForPath):
3987        (WebCore::GraphicsContext::drawFocusRing):
3988
39892011-02-10  Martin Robinson  <mrobinson@igalia.com>
3990
3991        Reviewed by Gustavo Noronha Silva.
3992
3993        [Soup] ResourceHandleSoup does not ever call didSendData for file uploads
3994        https://bugs.webkit.org/show_bug.cgi?id=52090
3995
3996        Call didSendData as body data is uploaded to the server. This is necessary
3997        for XHR upload events to function properly.
3998
3999        * platform/network/ResourceHandleInternal.h:
4000        (WebCore::ResourceHandleInternal::ResourceHandleInternal): Add two new members.
4001        One to track the total amount of body data and one to track the total amount of
4002        body data sent so far.
4003        * platform/network/soup/ResourceHandleSoup.cpp:
4004        (WebCore::wroteBodyDataCallback): Added.
4005        (WebCore::addFormElementsToSoupMessage): Split this out into a helper function.
4006        Will now now sum the total amount of body data.
4007        (WebCore::startHttp): Attach a wrote-body-data signal handler.
4008
40092011-02-10  Bill Budge  <bbudge@chromium.org>
4010
4011        Reviewed by David Levin.
4012
4013        Add fields to ResourceRequest and ResourceResponse in preparation for adding CORS support to AssociatedURLLoader.
4014        https://bugs.webkit.org/show_bug.cgi?id=53925
4015
4016        * platform/network/chromium/ResourceRequest.cpp:
4017        (WebCore::ResourceRequest::doPlatformCopyData):
4018        (WebCore::ResourceRequest::doPlatformAdopt):
4019        * platform/network/chromium/ResourceRequest.h:
4020        (WebCore::ResourceRequest::ResourceRequest):
4021        (WebCore::ResourceRequest::downloadToFile):
4022        (WebCore::ResourceRequest::setDownloadToFile):
4023        * platform/network/chromium/ResourceResponse.cpp:
4024        (WebCore::ResourceResponse::doPlatformCopyData):
4025        (WebCore::ResourceResponse::doPlatformAdopt):
4026        * platform/network/chromium/ResourceResponse.h:
4027        (WebCore::ResourceResponse::downloadFilePath):
4028        (WebCore::ResourceResponse::setDownloadFilePath):
4029
40302011-02-10  Dirk Schulze  <krit@webkit.org>
4031
4032        Reviewed by Nikolas Zimmermann.
4033
4034        SVGAnimateElement needs information about the animated attribute type
4035        https://bugs.webkit.org/show_bug.cgi?id=53442
4036
4037        For animations, we need to know the SVG property type for a XML attribute. A global static mapping between
4038        attribute name and a type is not possible, since one attribute name can be bound to different property types:
4039        x can be a SVGNumberList, a SVGNumber or a SVGLength. So we have to ask every target element, if it supports
4040        the animated attribute and of which type it is. Just for CSS properties we can share an explicit mapping between
4041        the name and the type. This is done in a static map in SVGStyledElement. All other mappings are stored in local static
4042        HashMaps for all SVG elements with animated properties. These maps get filled once with the fillAttributeToPropertyTypeMap function
4043        that needs to be included in every SVG element. The function is not virtual in base classes for performance reasons.
4044
4045        No change of functionality, so no new test cases.
4046
4047        * svg/SVGAElement.cpp:
4048        (WebCore::SVGAElement::attributeToPropertyTypeMap):
4049        (WebCore::SVGAElement::fillAttributeToPropertyTypeMap):
4050        * svg/SVGAElement.h:
4051        * svg/SVGAltGlyphElement.cpp:
4052        (WebCore::SVGAltGlyphElement::attributeToPropertyTypeMap):
4053        (WebCore::SVGAltGlyphElement::fillAttributeToPropertyTypeMap):
4054        * svg/SVGAltGlyphElement.h:
4055        * svg/SVGAnimateElement.cpp:
4056        (WebCore::SVGAnimateElement::determinePropertyType):
4057        * svg/SVGCircleElement.cpp:
4058        (WebCore::SVGCircleElement::attributeToPropertyTypeMap):
4059        (WebCore::SVGCircleElement::fillAttributeToPropertyTypeMap):
4060        * svg/SVGCircleElement.h:
4061        * svg/SVGClipPathElement.cpp:
4062        (WebCore::SVGClipPathElement::attributeToPropertyTypeMap):
4063        (WebCore::SVGClipPathElement::fillAttributeToPropertyTypeMap):
4064        * svg/SVGClipPathElement.h:
4065        * svg/SVGComponentTransferFunctionElement.cpp:
4066        (WebCore::SVGComponentTransferFunctionElement::attributeToPropertyTypeMap):
4067        (WebCore::SVGComponentTransferFunctionElement::fillAttributeToPropertyTypeMap):
4068        * svg/SVGComponentTransferFunctionElement.h:
4069        * svg/SVGCursorElement.cpp:
4070        (WebCore::SVGCursorElement::attributeToPropertyTypeMap):
4071        (WebCore::SVGCursorElement::fillAttributeToPropertyTypeMap):
4072        * svg/SVGCursorElement.h:
4073        * svg/SVGElement.cpp:
4074        (WebCore::SVGElement::attributeToPropertyTypeMap):
4075        (WebCore::SVGElement::animatedPropertyTypeForAttribute):
4076        * svg/SVGElement.h:
4077        (WebCore::SVGElement::fillAttributeToPropertyTypeMap):
4078        * svg/SVGEllipseElement.cpp:
4079        (WebCore::SVGEllipseElement::attributeToPropertyTypeMap):
4080        (WebCore::SVGEllipseElement::fillAttributeToPropertyTypeMap):
4081        * svg/SVGEllipseElement.h:
4082        * svg/SVGFEBlendElement.cpp:
4083        (WebCore::SVGFEBlendElement::attributeToPropertyTypeMap):
4084        (WebCore::SVGFEBlendElement::fillAttributeToPropertyTypeMap):
4085        * svg/SVGFEBlendElement.h:
4086        * svg/SVGFEColorMatrixElement.cpp:
4087        (WebCore::SVGFEColorMatrixElement::attributeToPropertyTypeMap):
4088        (WebCore::SVGFEColorMatrixElement::fillAttributeToPropertyTypeMap):
4089        * svg/SVGFEColorMatrixElement.h:
4090        * svg/SVGFEComponentTransferElement.cpp:
4091        (WebCore::SVGFEComponentTransferElement::attributeToPropertyTypeMap):
4092        (WebCore::SVGFEComponentTransferElement::fillAttributeToPropertyTypeMap):
4093        * svg/SVGFEComponentTransferElement.h:
4094        * svg/SVGFECompositeElement.cpp:
4095        (WebCore::SVGFECompositeElement::attributeToPropertyTypeMap):
4096        (WebCore::SVGFECompositeElement::fillAttributeToPropertyTypeMap):
4097        * svg/SVGFECompositeElement.h:
4098        * svg/SVGFEConvolveMatrixElement.cpp:
4099        (WebCore::SVGFEConvolveMatrixElement::attributeToPropertyTypeMap):
4100        (WebCore::SVGFEConvolveMatrixElement::fillAttributeToPropertyTypeMap):
4101        * svg/SVGFEConvolveMatrixElement.h:
4102        * svg/SVGFEDiffuseLightingElement.cpp:
4103        (WebCore::SVGFEDiffuseLightingElement::attributeToPropertyTypeMap):
4104        (WebCore::SVGFEDiffuseLightingElement::fillAttributeToPropertyTypeMap):
4105        * svg/SVGFEDiffuseLightingElement.h:
4106        * svg/SVGFEDisplacementMapElement.cpp:
4107        (WebCore::SVGFEDisplacementMapElement::attributeToPropertyTypeMap):
4108        (WebCore::SVGFEDisplacementMapElement::fillAttributeToPropertyTypeMap):
4109        * svg/SVGFEDisplacementMapElement.h:
4110        * svg/SVGFEFloodElement.cpp:
4111        (WebCore::SVGFEFloodElement::attributeToPropertyTypeMap):
4112        (WebCore::SVGFEFloodElement::fillAttributeToPropertyTypeMap):
4113        * svg/SVGFEFloodElement.h:
4114        * svg/SVGFEGaussianBlurElement.cpp:
4115        (WebCore::SVGFEGaussianBlurElement::attributeToPropertyTypeMap):
4116        (WebCore::SVGFEGaussianBlurElement::fillAttributeToPropertyTypeMap):
4117        * svg/SVGFEGaussianBlurElement.h:
4118        * svg/SVGFEImageElement.cpp:
4119        (WebCore::SVGFEImageElement::attributeToPropertyTypeMap):
4120        (WebCore::SVGFEImageElement::fillAttributeToPropertyTypeMap):
4121        * svg/SVGFEImageElement.h:
4122        * svg/SVGFELightElement.cpp:
4123        (WebCore::SVGFELightElement::attributeToPropertyTypeMap):
4124        (WebCore::SVGFELightElement::fillAttributeToPropertyTypeMap):
4125        * svg/SVGFELightElement.h:
4126        * svg/SVGFEMergeElement.cpp:
4127        (WebCore::SVGFEMergeElement::attributeToPropertyTypeMap):
4128        (WebCore::SVGFEMergeElement::fillAttributeToPropertyTypeMap):
4129        * svg/SVGFEMergeElement.h:
4130        * svg/SVGFEMergeNodeElement.cpp:
4131        (WebCore::SVGFEMergeNodeElement::attributeToPropertyTypeMap):
4132        (WebCore::SVGFEMergeNodeElement::fillAttributeToPropertyTypeMap):
4133        * svg/SVGFEMergeNodeElement.h:
4134        * svg/SVGFEMorphologyElement.cpp:
4135        (WebCore::SVGFEMorphologyElement::attributeToPropertyTypeMap):
4136        (WebCore::SVGFEMorphologyElement::fillAttributeToPropertyTypeMap):
4137        * svg/SVGFEMorphologyElement.h:
4138        * svg/SVGFEOffsetElement.cpp:
4139        (WebCore::SVGFEOffsetElement::attributeToPropertyTypeMap):
4140        (WebCore::SVGFEOffsetElement::fillAttributeToPropertyTypeMap):
4141        * svg/SVGFEOffsetElement.h:
4142        * svg/SVGFESpecularLightingElement.cpp:
4143        (WebCore::SVGFESpecularLightingElement::attributeToPropertyTypeMap):
4144        (WebCore::SVGFESpecularLightingElement::fillAttributeToPropertyTypeMap):
4145        * svg/SVGFESpecularLightingElement.h:
4146        * svg/SVGFETileElement.cpp:
4147        (WebCore::SVGFETileElement::attributeToPropertyTypeMap):
4148        (WebCore::SVGFETileElement::fillAttributeToPropertyTypeMap):
4149        * svg/SVGFETileElement.h:
4150        * svg/SVGFETurbulenceElement.cpp:
4151        (WebCore::SVGFETurbulenceElement::attributeToPropertyTypeMap):
4152        (WebCore::SVGFETurbulenceElement::fillAttributeToPropertyTypeMap):
4153        * svg/SVGFETurbulenceElement.h:
4154        * svg/SVGFilterElement.cpp:
4155        (WebCore::SVGFilterElement::attributeToPropertyTypeMap):
4156        (WebCore::SVGFilterElement::fillAttributeToPropertyTypeMap):
4157        * svg/SVGFilterElement.h:
4158        * svg/SVGFilterPrimitiveStandardAttributes.cpp:
4159        (WebCore::SVGFilterPrimitiveStandardAttributes::fillAttributeToPropertyTypeMap):
4160        * svg/SVGFilterPrimitiveStandardAttributes.h:
4161        * svg/SVGFontElement.cpp:
4162        (WebCore::SVGFontElement::attributeToPropertyTypeMap):
4163        (WebCore::SVGFontElement::fillAttributeToPropertyTypeMap):
4164        * svg/SVGFontElement.h:
4165        (WebCore::SVGFontElement::rendererIsNeeded):
4166        * svg/SVGForeignObjectElement.cpp:
4167        (WebCore::SVGForeignObjectElement::attributeToPropertyTypeMap):
4168        (WebCore::SVGForeignObjectElement::fillAttributeToPropertyTypeMap):
4169        * svg/SVGForeignObjectElement.h:
4170        * svg/SVGGlyphElement.cpp:
4171        (WebCore::SVGGlyphElement::attributeToPropertyTypeMap):
4172        (WebCore::SVGGlyphElement::fillAttributeToPropertyTypeMap):
4173        * svg/SVGGlyphElement.h:
4174        * svg/SVGGradientElement.cpp:
4175        (WebCore::SVGGradientElement::fillAttributeToPropertyTypeMap):
4176        * svg/SVGGradientElement.h:
4177        * svg/SVGImageElement.cpp:
4178        (WebCore::SVGImageElement::attributeToPropertyTypeMap):
4179        (WebCore::SVGImageElement::fillAttributeToPropertyTypeMap):
4180        * svg/SVGImageElement.h:
4181        * svg/SVGLineElement.cpp:
4182        (WebCore::SVGLineElement::attributeToPropertyTypeMap):
4183        (WebCore::SVGLineElement::fillAttributeToPropertyTypeMap):
4184        * svg/SVGLineElement.h:
4185        * svg/SVGLinearGradientElement.cpp:
4186        (WebCore::SVGLinearGradientElement::attributeToPropertyTypeMap):
4187        (WebCore::SVGLinearGradientElement::fillAttributeToPropertyTypeMap):
4188        * svg/SVGLinearGradientElement.h:
4189        * svg/SVGMPathElement.cpp:
4190        (WebCore::SVGMPathElement::attributeToPropertyTypeMap):
4191        (WebCore::SVGMPathElement::fillAttributeToPropertyTypeMap):
4192        * svg/SVGMPathElement.h:
4193        * svg/SVGMarkerElement.cpp:
4194        (WebCore::SVGMarkerElement::attributeToPropertyTypeMap):
4195        (WebCore::SVGMarkerElement::fillAttributeToPropertyTypeMap):
4196        * svg/SVGMarkerElement.h:
4197        * svg/SVGMaskElement.cpp:
4198        (WebCore::SVGMaskElement::attributeToPropertyTypeMap):
4199        (WebCore::SVGMaskElement::fillAttributeToPropertyTypeMap):
4200        * svg/SVGMaskElement.h:
4201        * svg/SVGMissingGlyphElement.cpp:
4202        (WebCore::SVGMissingGlyphElement::attributeToPropertyTypeMap):
4203        (WebCore::SVGMissingGlyphElement::fillAttributeToPropertyTypeMap):
4204        * svg/SVGMissingGlyphElement.h:
4205        * svg/SVGPathElement.cpp:
4206        (WebCore::SVGPathElement::attributeToPropertyTypeMap):
4207        (WebCore::SVGPathElement::fillAttributeToPropertyTypeMap):
4208        * svg/SVGPathElement.h:
4209        * svg/SVGPatternElement.cpp:
4210        (WebCore::SVGPatternElement::attributeToPropertyTypeMap):
4211        (WebCore::SVGPatternElement::fillAttributeToPropertyTypeMap):
4212        * svg/SVGPatternElement.h:
4213        * svg/SVGPolyElement.cpp:
4214        (WebCore::SVGPolyElement::attributeToPropertyTypeMap):
4215        (WebCore::SVGPolyElement::fillAttributeToPropertyTypeMap):
4216        * svg/SVGPolyElement.h:
4217        * svg/SVGRadialGradientElement.cpp:
4218        (WebCore::SVGRadialGradientElement::attributeToPropertyTypeMap):
4219        (WebCore::SVGRadialGradientElement::fillAttributeToPropertyTypeMap):
4220        * svg/SVGRadialGradientElement.h:
4221        * svg/SVGRectElement.cpp:
4222        (WebCore::SVGRectElement::attributeToPropertyTypeMap):
4223        (WebCore::SVGRectElement::fillAttributeToPropertyTypeMap):
4224        * svg/SVGRectElement.h:
4225        * svg/SVGSVGElement.cpp:
4226        (WebCore::SVGSVGElement::attributeToPropertyTypeMap):
4227        (WebCore::SVGSVGElement::fillAttributeToPropertyTypeMap):
4228        * svg/SVGSVGElement.h:
4229        * svg/SVGScriptElement.cpp:
4230        (WebCore::SVGScriptElement::attributeToPropertyTypeMap):
4231        (WebCore::SVGScriptElement::fillAttributeToPropertyTypeMap):
4232        * svg/SVGScriptElement.h:
4233        * svg/SVGStopElement.cpp:
4234        (WebCore::SVGStopElement::attributeToPropertyTypeMap):
4235        (WebCore::SVGStopElement::fillAttributeToPropertyTypeMap):
4236        * svg/SVGStopElement.h:
4237        * svg/SVGStyledElement.cpp:
4238        (WebCore::cssPropertyToTypeMap):
4239        (WebCore::SVGStyledElement::animatedPropertyTypeForCSSProperty):
4240        (WebCore::SVGStyledElement::fillAttributeToPropertyTypeMap):
4241        * svg/SVGStyledElement.h:
4242        * svg/SVGStyledTransformableElement.cpp:
4243        (WebCore::SVGStyledTransformableElement::fillAttributeToPropertyTypeMap):
4244        * svg/SVGStyledTransformableElement.h:
4245        * svg/SVGSwitchElement.cpp:
4246        (WebCore::SVGSwitchElement::attributeToPropertyTypeMap):
4247        (WebCore::SVGSwitchElement::fillAttributeToPropertyTypeMap):
4248        * svg/SVGSwitchElement.h:
4249        * svg/SVGSymbolElement.cpp:
4250        (WebCore::SVGSymbolElement::attributeToPropertyTypeMap):
4251        (WebCore::SVGSymbolElement::fillAttributeToPropertyTypeMap):
4252        * svg/SVGSymbolElement.h:
4253        * svg/SVGTRefElement.cpp:
4254        (WebCore::SVGTRefElement::attributeToPropertyTypeMap):
4255        (WebCore::SVGTRefElement::fillAttributeToPropertyTypeMap):
4256        * svg/SVGTRefElement.h:
4257        * svg/SVGTSpanElement.cpp:
4258        (WebCore::SVGTSpanElement::attributeToPropertyTypeMap):
4259        (WebCore::SVGTSpanElement::fillAttributeToPropertyTypeMap):
4260        * svg/SVGTSpanElement.h:
4261        * svg/SVGTextContentElement.cpp:
4262        (WebCore::SVGTextContentElement::fillAttributeToPropertyTypeMap):
4263        * svg/SVGTextContentElement.h:
4264        * svg/SVGTextElement.cpp:
4265        (WebCore::SVGTextElement::attributeToPropertyTypeMap):
4266        (WebCore::SVGTextElement::fillAttributeToPropertyTypeMap):
4267        * svg/SVGTextElement.h:
4268        * svg/SVGTextPathElement.cpp:
4269        (WebCore::SVGTextPathElement::attributeToPropertyTypeMap):
4270        (WebCore::SVGTextPathElement::fillAttributeToPropertyTypeMap):
4271        * svg/SVGTextPathElement.h:
4272        * svg/SVGTextPositioningElement.cpp:
4273        (WebCore::SVGTextPositioningElement::fillAttributeToPropertyTypeMap):
4274        * svg/SVGTextPositioningElement.h:
4275        * svg/SVGTitleElement.cpp:
4276        (WebCore::SVGTitleElement::attributeToPropertyTypeMap):
4277        (WebCore::SVGTitleElement::fillAttributeToPropertyTypeMap):
4278        * svg/SVGTitleElement.h:
4279        * svg/SVGUseElement.cpp:
4280        (WebCore::SVGUseElement::attributeToPropertyTypeMap):
4281        (WebCore::SVGUseElement::fillAttributeToPropertyTypeMap):
4282        * svg/SVGUseElement.h:
4283        * svg/SVGViewElement.cpp:
4284        (WebCore::SVGViewElement::attributeToPropertyTypeMap):
4285        (WebCore::SVGViewElement::fillAttributeToPropertyTypeMap):
4286        * svg/SVGViewElement.h:
4287
42882011-02-10  Alexis Menard  <alexis.menard@nokia.com>
4289
4290        Reviewed by Andreas Kling.
4291
4292        Fix a Warning after removing FileSystem support for the inspector.
4293
4294        * WebCore.pro:
4295
42962011-02-10  Chris Fleizach  <cfleizach@apple.com>
4297
4298        Reviewed by Anders Carlsson.
4299
4300        AX: AX needs to stop using WebCoreViewFactory
4301        https://bugs.webkit.org/show_bug.cgi?id=54153
4302
4303        WebKit2 no longer uses WebCoreViewFactory, which means that accessibility code needs
4304        to get off of it and use WebCoreSystemInterface, like other clients.
4305
4306        * WebCore.exp.in:
4307        * accessibility/AXObjectCache.h:
4308        * accessibility/mac/AXObjectCacheMac.mm:
4309        (WebCore::AXObjectCache::handleFocusedUIElementChanged):
4310        * accessibility/mac/AccessibilityObjectWrapper.h:
4311        * accessibility/mac/AccessibilityObjectWrapper.mm:
4312        (-[AccessibilityObjectWrapper unregisterUniqueIdForUIElement]):
4313        (CFAutoreleaseHelper):
4314        (AXObjectIsTextMarker):
4315        (AXObjectIsTextMarkerRange):
4316        (AXTextMarkerRange):
4317        (AXTextMarkerRangeStart):
4318        (AXTextMarkerRangeEnd):
4319        (textMarkerForVisiblePosition):
4320        (-[AccessibilityObjectWrapper textMarkerForVisiblePosition:]):
4321        (visiblePositionForTextMarker):
4322        (-[AccessibilityObjectWrapper visiblePositionForTextMarker:]):
4323        (visiblePositionForStartOfTextMarkerRange):
4324        (visiblePositionForEndOfTextMarkerRange):
4325        (textMarkerRangeFromMarkers):
4326        (AXAttributeStringSetElement):
4327        (-[AccessibilityObjectWrapper doAXAttributedStringForTextMarkerRange:]):
4328        (textMarkerRangeFromVisiblePositions):
4329        (-[AccessibilityObjectWrapper textMarkerRangeFromVisiblePositions:endPosition:]):
4330        (-[AccessibilityObjectWrapper visiblePositionRangeForTextMarkerRange:]):
4331        (-[AccessibilityObjectWrapper textMarkerRangeForSelection]):
4332        (-[AccessibilityObjectWrapper accessibilitySetValue:forAttribute:]):
4333        (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
4334        * editing/mac/SelectionControllerMac.mm:
4335        (WebCore::accessibilityConvertScreenRect):
4336        (WebCore::SelectionController::notifyAccessibilityForSelectionChange):
4337        * platform/mac/WebCoreSystemInterface.h:
4338        * platform/mac/WebCoreSystemInterface.mm:
4339
43402011-02-10  Alexis Menard  <alexis.menard@nokia.com>
4341
4342        Reviewed by Andreas Kling.
4343
4344        [Qt] In trunk with Qt Multimedia the full screen mode doesn't work.
4345        https://bugs.webkit.org/show_bug.cgi?id=54201
4346
4347        Add files for the fullscreen video playback handling. It also fix
4348        a missing header.
4349
4350        * WebCore.pro:
4351
43522011-02-09  Pavel Feldman  <pfeldman@chromium.org>
4353
4354        Reviewed by Yury Semikhatsky.
4355
4356        Web Inspector: Remove FileSystem support from the inspector.
4357        https://bugs.webkit.org/show_bug.cgi?id=50695
4358
4359        * CMakeLists.txt:
4360        * GNUmakefile.am:
4361        * WebCore.gypi:
4362        * WebCore.pro:
4363        * WebCore.vcproj/WebCore.vcproj:
4364        * WebCore.xcodeproj/project.pbxproj:
4365        * inspector/Inspector.idl:
4366        * inspector/InspectorApplicationCacheAgent.cpp:
4367        (WebCore::InspectorApplicationCacheAgent::InspectorApplicationCacheAgent):
4368        (WebCore::InspectorApplicationCacheAgent::getApplicationCaches):
4369        * inspector/InspectorApplicationCacheAgent.h:
4370        * inspector/InspectorFileSystemAgent.cpp: Removed.
4371        * inspector/InspectorFileSystemAgent.h: Removed.
4372        * inspector/InspectorInstrumentation.cpp:
4373        (WebCore::InspectorInstrumentation::identifierForInitialRequestImpl):
4374        (WebCore::InspectorInstrumentation::willSendRequestImpl):
4375        (WebCore::InspectorInstrumentation::markResourceAsCachedImpl):
4376        (WebCore::InspectorInstrumentation::didLoadResourceFromMemoryCacheImpl):
4377        (WebCore::InspectorInstrumentation::didReceiveResourceResponseImpl):
4378        (WebCore::InspectorInstrumentation::didReceiveContentLengthImpl):
4379        (WebCore::InspectorInstrumentation::didFinishLoadingImpl):
4380        (WebCore::InspectorInstrumentation::didFailLoadingImpl):
4381        (WebCore::InspectorInstrumentation::resourceRetrievedByXMLHttpRequestImpl):
4382        (WebCore::InspectorInstrumentation::scriptImportedImpl):
4383        (WebCore::InspectorInstrumentation::networkStateChangedImpl):
4384        (WebCore::InspectorInstrumentation::updateApplicationCacheStatusImpl):
4385        (WebCore::InspectorInstrumentation::retrieveResourceAgent):
4386        * inspector/front-end/FileSystemView.js: Removed.
4387        * inspector/front-end/WebKit.qrc:
4388        * inspector/front-end/inspector.html:
4389
43902011-02-10  Sheriff Bot  <webkit.review.bot@gmail.com>
4391
4392        Unreviewed, rolling out r78219.
4393        http://trac.webkit.org/changeset/78219
4394        https://bugs.webkit.org/show_bug.cgi?id=54215
4395
4396        breaks editing/style/iframe-onload-crash.html on GTK 64-bit
4397        Debug (Requested by philn-tp on #webkit).
4398
4399        * dom/Document.h:
4400        * dom/DocumentFragment.h:
4401        * dom/Element.h:
4402        * dom/Node.h:
4403        * dom/Text.h:
4404        * editing/htmlediting.cpp:
4405        (WebCore::editingIgnoresContent):
4406        (WebCore::canHaveChildrenForEditing):
4407        * editing/htmlediting.h:
4408        * html/HTMLBRElement.h:
4409        * html/HTMLButtonElement.h:
4410        * html/HTMLDataGridElement.h:
4411        * html/HTMLFormControlElement.h:
4412        * html/HTMLFrameElementBase.h:
4413        * html/HTMLHRElement.h:
4414        * html/HTMLImageElement.h:
4415        * html/HTMLMeterElement.h:
4416        * html/HTMLOutputElement.h:
4417        * html/HTMLPlugInElement.h:
4418        * html/HTMLProgressElement.h:
4419        * wml/WMLBRElement.h:
4420        * wml/WMLDoElement.h:
4421        * wml/WMLImageElement.h:
4422        * wml/WMLInputElement.h:
4423        * wml/WMLSelectElement.h:
4424
44252011-02-10  Andras Becsi  <abecsi@webkit.org>
4426
4427        Rubber-stamped by Csaba Osztrogonác.
4428
4429        [Qt][V8] Fix the build.
4430
4431        No new tests needed.
4432
4433        * bindings/v8/WorkerContextExecutionProxy.cpp: add missing CString header.
4434        * loader/cache/CachedScript.h: do not use extra qualification for base class enum.
4435
44362011-02-10  Alexander Pavlov  <apavlov@chromium.org>
4437
4438        Reviewed by Yury Semikhatsky.
4439
4440        Web Inspector: [STYLES] Suggest CSS property values once Up/Down is pressed with an empty input
4441        https://bugs.webkit.org/show_bug.cgi?id=54205
4442
4443        * inspector/front-end/CSSCompletions.js:
4444        (WebInspector.CSSCompletions):
4445        (WebInspector.CSSCompletions.prototype._firstIndexOfPrefix):
4446        * inspector/front-end/CSSKeywordCompletions.js:
4447        (WebInspector.CSSKeywordCompletions.forProperty):
4448        * inspector/front-end/StylesSidebarPane.js:
4449        ():
4450        * inspector/front-end/TextPrompt.js:
4451        (WebInspector.TextPrompt.prototype.complete):
4452
44532011-02-10  Renata Hodovan  <reni@webkit.org>
4454
4455        Reviewed by Dirk Schulze.
4456
4457        SVGFESpecularLightingElement doesn't support dynamic invalidation, when attributes change.
4458        https://bugs.webkit.org/show_bug.cgi?id=54186
4459
4460        The dynamic changes are captured by the svgAttributeChange function, and invalidate the filter primitive if necessary.
4461
4462        Tests: svg/dynamic-updates/SVGFESpecularLightingElement-dom-in-attr.html
4463               svg/dynamic-updates/SVGFESpecularLightingElement-dom-specularConstant-attr.html
4464               svg/dynamic-updates/SVGFESpecularLightingElement-dom-specularExponent-attr.html
4465               svg/dynamic-updates/SVGFESpecularLightingElement-dom-suraceScale-attr.html
4466               svg/dynamic-updates/SVGFESpecularLightingElement-svgdom-in-prop.html
4467               svg/dynamic-updates/SVGFESpecularLightingElement-svgdom-specularConstant-prop.html
4468               svg/dynamic-updates/SVGFESpecularLightingElement-svgdom-specularExponent-prop.html
4469               svg/dynamic-updates/SVGFESpecularLightingElement-svgdom-suraceScale-prop.html
4470
4471        * svg/SVGFESpecularLightingElement.cpp:
4472        (WebCore::SVGFESpecularLightingElement::svgAttributeChanged):
4473        * svg/SVGFESpecularLightingElement.h:
4474
44752011-02-10  Andrey Adaikin  <aandrey@google.com>
4476
4477        Reviewed by Pavel Feldman.
4478
4479        Web Inspector: Error messages are not displayed for the last line in a script
4480        https://bugs.webkit.org/show_bug.cgi?id=54204
4481
4482        * inspector/front-end/SourceFrame.js:
4483        (WebInspector.SourceFrame.prototype.addMessage):
4484        (WebInspector.SourceFrame.prototype._addMessageToSource):
4485        (WebInspector.SourceFrame.prototype._createConditionElement):
4486
44872011-02-10  Ryosuke Niwa  <rniwa@webkit.org>
4488
4489        Reviewed by Eric Seidel.
4490
4491        Make canHaveChildrenForEditing more efficient
4492        https://bugs.webkit.org/show_bug.cgi?id=53564
4493
4494        Improved the performance (1-2% in release and 20% in debug) by adding virtual member function
4495        canContainRangeEndPoint to Node. It returns true whenever the associated node can have be a container
4496        node for a position.
4497
4498        As of this revision, canContainRangeEndPoint returns true on Document, DocumentFragment, Text nodes
4499        and any elements except:
4500
4501        HTML: applet, br, button, datagrid, embed, frame, frameset, hr, img, input,
4502              meter, object, output, progress, and select.
4503
4504        WML: br, do, img, input, and select.
4505
4506        No new tests are added since this change cannot be tested directly.
4507
4508        * dom/Document.h:
4509        (WebCore::Document::canContainRangeEndPoint): Added; returns false.
4510        * dom/DocumentFragment.h:
4511        (WebCore::DocumentFragment::canContainRangeEndPoint): Added; returns true.
4512        * dom/Element.h:
4513        (WebCore::Element::canContainRangeEndPoint): Ditto.
4514        * dom/Node.h:
4515        (WebCore::Node::canContainRangeEndPoint): Added; returns false.
4516        * dom/Text.h:
4517        (WebCore::Text::canContainRangeEndPoint): Added; returns true.
4518        * editing/htmlediting.cpp: Removed editingIgnoresContent and canHaveChildrenForEditing.
4519        * editing/htmlediting.h:
4520        (WebCore::editingIgnoresContent): Moved from htmlediting.cpp; made it inline.
4521        (WebCore::canHaveChildrenForEditing): Ditto.
4522        * html/HTMLBRElement.h:
4523        (WebCore::HTMLBRElement::canContainRangeEndPoint): Added; returns false.
4524        * html/HTMLButtonElement.h:
4525        (WebCore::HTMLButtonElement::canContainRangeEndPoint): Ditto.
4526        * html/HTMLDataGridElement.h:
4527        (WebCore::HTMLDataGridElement::canContainRangeEndPoint): Ditto.
4528        * html/HTMLFormControlElement.h:
4529        (WebCore::HTMLFormControlElementWithState::canContainRangeEndPoint): Ditto.
4530        * html/HTMLFrameElementBase.h:
4531        (WebCore::HTMLFrameElementBase::canContainRangeEndPoint): Ditto.
4532        * html/HTMLHRElement.h:
4533        (WebCore::HTMLHRElement::canContainRangeEndPoint): Ditto.
4534        * html/HTMLImageElement.h:
4535        (WebCore::HTMLImageElement::canContainRangeEndPoint): Ditto.
4536        * html/HTMLMeterElement.h:
4537        (WebCore::HTMLMeterElement::canContainRangeEndPoint): Ditto.
4538        * html/HTMLOutputElement.h:
4539        (WebCore::HTMLOutputElement::canContainRangeEndPoint): Ditto.
4540        * html/HTMLPlugInElement.h:
4541        (WebCore::HTMLPlugInElement::canContainRangeEndPoint): Ditto.
4542        * html/HTMLProgressElement.h:
4543        (WebCore::HTMLProgressElement::canContainRangeEndPoint): Ditto.
4544        * wml/WMLBRElement.h:
4545        (WebCore::WMLBRElement::canContainRangeEndPoint): Ditto.
4546        * wml/WMLDoElement.h:
4547        (WebCore::WMLDoElement::canContainRangeEndPoint): Ditto.
4548        * wml/WMLImageElement.h:
4549        (WebCore::WMLImageElement::canContainRangeEndPoint): Ditto.
4550        * wml/WMLInputElement.h:
4551        (WebCore::WMLInputElement::canContainRangeEndPoint): Ditto.
4552        * wml/WMLSelectElement.h:
4553        (WebCore::WMLSelectElement::canContainRangeEndPoint): Ditto.
4554
45552011-02-10  Pavel Feldman  <pfeldman@chromium.org>
4556
4557        Reviewed by Yury Semikhatsky.
4558
4559        Web Inspector: define interface per domain in Inspector.idl.
4560        https://bugs.webkit.org/show_bug.cgi?id=54135
4561
4562        * inspector/CodeGeneratorInspector.pm:
4563        * inspector/Inspector.idl:
4564
45652011-02-10  Andrey Adaikin  <aandrey@google.com>
4566
4567        Reviewed by Pavel Feldman.
4568
4569        Web Inspector: [regression] Fix syncing heights of the gutter and main panel lines, and add 2px padding-left
4570        https://bugs.webkit.org/show_bug.cgi?id=54098
4571
4572        * inspector/front-end/TextViewer.js:
4573        (WebInspector.TextViewer):
4574        (WebInspector.TextViewer.prototype._updatePanelOffsets):
4575        (WebInspector.TextViewer.prototype._syncScroll):
4576        (WebInspector.TextViewer.prototype._syncDecorationsForLine):
4577        (WebInspector.TextEditorChunkedPanel.prototype._totalHeight):
4578        (WebInspector.TextEditorChunkedPanel.prototype.resize):
4579        (WebInspector.TextEditorGutterPanel):
4580        (WebInspector.TextEditorGutterChunk.prototype.set expanded):
4581        (WebInspector.TextEditorGutterChunk.prototype.get height):
4582        (WebInspector.TextEditorMainChunk.prototype.get height):
4583        * inspector/front-end/textViewer.css:
4584        (.webkit-line-content):
4585
45862011-02-10  takano takumi  <takano@apple.com>
4587
4588        Reviewed by Dan Bernstein.
4589
4590        A full-width character rotated leftward 90 degrees in text-combine
4591        https://bugs.webkit.org/show_bug.cgi?id=54169
4592
4593        * rendering/RenderCombineText.cpp:
4594        (WebCore::RenderCombineText::combineText):
4595        - Fixed by resetting font's orientation to horizontal when we decided to make combined text.
4596        Otherwise the text will be unexpectedly rotated in showGlyphsWithAdvances() in FontMac.mm.
4597
45982011-02-10  Alexey Proskuryakov  <ap@apple.com>
4599
4600        Reviewed by Darin Adler.
4601
4602        https://bugs.webkit.org/show_bug.cgi?id=50306
4603        <rdar://problem/8976152> REGRESSION: WebChromeClient::shouldReplaceWithGeneratedFileForUpload()
4604        uses an initialized result value (breaks form submission with clang-built WebKit)
4605
4606        No new test, because I can't reproduce the observable effect with my gcc build.
4607
4608        * platform/network/FormData.cpp: (WebCore::FormData::appendKeyValuePairItems): Restore an
4609        empty path check - an empty path was causing an exception in Foundation.
4610
46112011-02-09  Andrey Kosyakov  <caseq@chromium.org>
4612
4613        Reviewed by Pavel Feldman.
4614
4615        Web Inspector: Network & Resource panels make multiple requests for images with no content
4616        https://bugs.webkit.org/show_bug.cgi?id=54085
4617
4618        - Added success parameter to resourceContent
4619        - NetworkManager.requestContent() now returns empty for zero-length resources, null for errors
4620
4621        * inspector/Inspector.idl:
4622        * inspector/InspectorResourceAgent.cpp:
4623        (WebCore::InspectorResourceAgent::resourceData):
4624        (WebCore::InspectorResourceAgent::resourceContent):
4625        * inspector/InspectorResourceAgent.h:
4626        * inspector/front-end/NetworkManager.js:
4627        (WebInspector.NetworkManager.prototype.requestContent):
4628        * inspector/front-end/Resource.js:
4629        (WebInspector.Resource.prototype.requestContent):
4630        (WebInspector.Resource.prototype._contentURL):
4631
46322011-02-10  Renata Hodovan  <reni@webkit.org>
4633
4634        Reviewed by Dirk Schulze.
4635
4636        Move the light source implementations into their own files.
4637        https://bugs.webkit.org/show_bug.cgi?id=53996
4638
4639        Splitting LightSource.cpp into 3 files.
4640
4641        No new tests are added since this is a refactoring.
4642
4643        * Android.mk:
4644        * CMakeLists.txt:
4645        * GNUmakefile.am:
4646        * WebCore.gypi:
4647        * WebCore.pro:
4648        * WebCore.vcproj/WebCore.vcproj:
4649        * WebCore.xcodeproj/project.pbxproj:
4650        * platform/graphics/filters/DistantLightSource.cpp: Added.
4651        (WebCore::DistantLightSource::initPaintingData):
4652        (WebCore::DistantLightSource::updatePaintingData):
4653        (WebCore::DistantLightSource::setAzimuth):
4654        (WebCore::DistantLightSource::setElevation):
4655        (WebCore::DistantLightSource::externalRepresentation):
4656        * platform/graphics/filters/LightSource.cpp:
4657        * platform/graphics/filters/PointLightSource.cpp: Added.
4658        (WebCore::PointLightSource::initPaintingData):
4659        (WebCore::PointLightSource::updatePaintingData):
4660        (WebCore::PointLightSource::setX):
4661        (WebCore::PointLightSource::setY):
4662        (WebCore::PointLightSource::setZ):
4663        (WebCore::operator<<):
4664        (WebCore::PointLightSource::externalRepresentation):
4665        * platform/graphics/filters/SpotLightSource.cpp: Added.
4666        (WebCore::SpotLightSource::initPaintingData):
4667        (WebCore::SpotLightSource::updatePaintingData):
4668        (WebCore::SpotLightSource::setX):
4669        (WebCore::SpotLightSource::setY):
4670        (WebCore::SpotLightSource::setZ):
4671        (WebCore::SpotLightSource::setPointsAtX):
4672        (WebCore::SpotLightSource::setPointsAtY):
4673        (WebCore::SpotLightSource::setPointsAtZ):
4674        (WebCore::SpotLightSource::setSpecularExponent):
4675        (WebCore::SpotLightSource::setLimitingConeAngle):
4676        (WebCore::operator<<):
4677        (WebCore::SpotLightSource::externalRepresentation):
4678
46792011-02-10  Avi Drissman  <avi@google.com>
4680
4681        Reviewed by Darin Fisher.
4682
4683        <option> should implement the dir attribute. Mac Chromium version, followup to r76983, r77654.
4684        https://bugs.webkit.org/show_bug.cgi?id=50969
4685
4686        Use manual test Source/WebCore/manual-tests/pop-up-alignment-and-direction.html added in r76983.
4687
4688        * platform/chromium/PopupMenuChromium.cpp:
4689        (WebCore::PopupListBox::updateFromElement):
4690        * platform/chromium/PopupMenuChromium.h:
4691
46922011-02-10  Hans Wennborg  <hans@chromium.org>
4693
4694        Reviewed by Jeremy Orlow.
4695
4696        IndexedDB: Update the semantics of put()
4697        https://bugs.webkit.org/show_bug.cgi?id=54102
4698
4699        Update the semantics of put: For object stores with auto increment,
4700        it should be allowed to provide an explicit key, or an in-line key,
4701        overriding the key generator mechanism.
4702
4703        This reflects the spec changes suggested here:
4704        http://www.w3.org/Bugs/Public/show_bug.cgi?id=11976
4705
4706        Extracting key-selection logic into its own function
4707        to make it a bit easier on the eyes.
4708
4709        * storage/IDBObjectStoreBackendImpl.cpp:
4710        (WebCore::IDBObjectStoreBackendImpl::selectKeyForPut):
4711        (WebCore::IDBObjectStoreBackendImpl::putInternal):
4712        * storage/IDBObjectStoreBackendImpl.h:
4713        (WebCore::IDBObjectStoreBackendImpl::resetAutoIncrementKeyCache):
4714
47152011-02-09  Antti Koivisto  <antti@apple.com>
4716
4717        Reviewed by Darin Adler.
4718
4719        https://bugs.webkit.org/show_bug.cgi?id=54103
4720        Implement fast path for matching simple selectors
4721        
4722        Implement a fast path for single and descendant selectors consisting
4723        of id, class and tag selectors only.
4724        
4725        Selectors like this are marked on style selector initialization. When 
4726        encountered during style matching they are resolved using a fast path.
4727        
4728        Since selectors like this are very common this speeds up style matching
4729        quite a bit (up to 50% on some sites according to Shark).
4730
4731        * css/CSSStyleSelector.cpp:
4732        (WebCore::RuleData::hasFastCheckableSelector):
4733        (WebCore::RuleData::hasMultipartSelector):
4734        (WebCore::RuleData::hasTopSelectorMatchingHTMLBasedOnRuleHash):
4735        (WebCore::CSSStyleSelector::matchRulesForList):
4736        (WebCore::CSSStyleSelector::checkSelector):
4737        (WebCore::selectorTagMatches):
4738        (WebCore::isFastCheckableSelector):
4739        (WebCore::CSSStyleSelector::SelectorChecker::fastCheckSelector):
4740        (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
4741        (WebCore::isSelectorMatchingHTMLBasedOnRuleHash):
4742        (WebCore::RuleData::RuleData):
4743        * css/CSSStyleSelector.h:
4744
47452011-02-09  Simon Fraser  <simon.fraser@apple.com>
4746
4747        Reviewed by Dan Bernstein.
4748
4749        REGRESSION (r77101) box-shadow sometimes renders incorrectly
4750        https://bugs.webkit.org/show_bug.cgi?id=54160
4751        
4752        Fix an issue when ShadowBlur had a cached image buffer
4753        that was larger than that of the current shadow being drawn,
4754        and the current shadow was partially clipped out.
4755        
4756        In that situation endShadowLayer() would clip to the image
4757        buffer, using the size of the buffer (as it must), but failed
4758        to take into account the fact that we'd only cleared and painted
4759        into a smaller section of the buffer. So we need to additionally
4760        constrain the clip to cover only the valid part of the buffer.
4761
4762        Test: fast/box-shadow/shadow-buffer-partial.html
4763
4764        * platform/graphics/ShadowBlur.cpp:
4765        (WebCore::ShadowBlur::endShadowLayer):
4766
47672011-02-09  Beth Dakin  <bdakin@apple.com>
4768
4769        Reviewed by Maciej Stachowiak.
4770
4771        Fix for <rdar://problem/8977051> CrashTracer: 8 crashes 
4772        in WebProcess at com.apple.WebCore: 
4773        -[ScrollbarPartAnimation setCurrentProgress:] + 364
4774
4775        The ScrollbarPartAnimation must be sent by reference!
4776        * platform/mac/ScrollAnimatorMac.mm:
4777        (-[ScrollbarPainterDelegate setUpAnimation:scrollerPainter:part:WebCore::animateAlphaTo:duration:]):
4778
47792011-02-09  Ryosuke Niwa  <rniwa@webkit.org>
4780
4781        Reviewed by Darin Adler.
4782
4783        REGRESSION(r76107): Crash in VisibleSelection::toNormalizedRange
4784        https://bugs.webkit.org/show_bug.cgi?id=54053
4785
4786        The bug was caused by RenderBlock::positionForPoint's improperly returning a shadow node inside
4787        RenderFileUploadControl for hit testing and VisibleSelection::toNormalizedRange's always assuming
4788        the position variable "s" is not null.
4789
4790        Fixed the bug by always returning a null position from RenderFileUploadControl::positionForPoint,
4791        and also exiting early when either "s" or "e" is null in VisibleSelection::toNormalizedRange.
4792
4793        Test: fast/forms/file-input-hit-test.html
4794
4795        * editing/VisibleSelection.cpp:
4796        (WebCore::VisibleSelection::toNormalizedRange):
4797        * rendering/RenderFileUploadControl.cpp:
4798        (WebCore::RenderFileUploadControl::positionForPoint):
4799        * rendering/RenderFileUploadControl.h:
4800
48012011-02-09  Sam Weinig  <sam@webkit.org>
4802
4803        Reviewed by Beth Dakin.
4804
4805        Overlay scrollbars crash used with a RenderListBox.
4806
4807        * rendering/RenderListBox.cpp:
4808        (WebCore::RenderListBox::layout):
4809        (WebCore::RenderListBox::contentsSize):
4810        (WebCore::RenderListBox::currentMousePosition):
4811        (WebCore::RenderListBox::setHasVerticalScrollbar):
4812        * rendering/RenderListBox.h:
4813        Implement enough of the ScrollableArea interface to get things generally
4814        working.
4815
48162011-02-09  Beth Dakin  <bdakin@apple.com>
4817
4818        Reviewed by Simon Fraser.
4819
4820        Fix for <rdar://problem/8966868> ScrollbarPainterDelegate 
4821        must return a layer if layer-backed to avoid crashing
4822
4823        New virtual function scrollbarWillRenderIntoCompositingLayer()
4824        on ScrollableArea.
4825        * page/FrameView.h:
4826        * platform/ScrollableArea.h:
4827        (WebCore::ScrollableArea::scrollbarWillRenderIntoCompositingLayer):
4828        * rendering/RenderLayer.h:
4829        (WebCore::RenderLayer::scrollbarWillRenderIntoCompositingLayer):
4830        * rendering/RenderListBox.cpp:
4831        (WebCore::RenderListBox::scrollbarWillRenderIntoCompositingLayer):
4832        * rendering/RenderListBox.h:
4833
4834        Clean up unnecessary method declarations and call 
4835        scrollbarWillRenderIntoCompositingLayer() to deterine if 
4836        we need to return a layer.
4837        * platform/mac/ScrollAnimatorMac.mm:
4838        (-[ScrollbarPainterDelegate layer]):
4839
48402011-02-09  Yael Aharon  <yael.aharon@nokia.com>
4841
4842        Reviewed by Darin Adler.
4843
4844        Replace static_cast<HTMLElement*> with toHTMLElement
4845        https://bugs.webkit.org/show_bug.cgi?id=54117
4846
4847        No new tests since no new functionality was introduced.
4848
4849        * accessibility/AccessibilityListBox.cpp:
4850        (WebCore::AccessibilityListBox::addChildren):
4851        * accessibility/AccessibilityMenuListPopup.cpp:
4852        (WebCore::AccessibilityMenuListPopup::addChildren):
4853        * accessibility/AccessibilityRenderObject.cpp:
4854        (WebCore::accessibleNameForNode):
4855        (WebCore::AccessibilityRenderObject::accessibilityDescription):
4856        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
4857        (webkit_accessible_get_name):
4858        (webkit_accessible_get_description):
4859        * bindings/gobject/WebKitDOMBinding.cpp:
4860        (WebKit::createWrapper):
4861        (WebKit::kit):
4862        * bindings/js/JSElementCustom.cpp:
4863        (WebCore::toJSNewlyCreated):
4864        * bindings/js/JSHTMLFrameSetElementCustom.cpp:
4865        (WebCore::JSHTMLFrameSetElement::nameGetter):
4866        * bindings/js/JSNodeCustom.cpp:
4867        (WebCore::createWrapperInline):
4868        * bindings/v8/custom/V8ElementCustom.cpp:
4869        (WebCore::toV8):
4870        * dom/Document.cpp:
4871        (WebCore::Document::body):
4872        * dom/Element.cpp:
4873        (WebCore::Element::deprecatedCreateContextualFragment):
4874        * dom/Range.cpp:
4875        (WebCore::Range::createContextualFragment):
4876        * editing/ApplyStyleCommand.cpp:
4877        (WebCore::ApplyStyleCommand::applyBlockStyle):
4878        (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
4879        (WebCore::ApplyStyleCommand::splitAncestorsWithUnicodeBidi):
4880        (WebCore::ApplyStyleCommand::applyInlineStyleToNodeRange):
4881        (WebCore::ApplyStyleCommand::removeStyleFromRunBeforeApplyingStyle):
4882        (WebCore::ApplyStyleCommand::highestAncestorWithConflictingInlineStyle):
4883        (WebCore::ApplyStyleCommand::applyInlineStyleToPushDown):
4884        (WebCore::ApplyStyleCommand::pushDownInlineStyleAroundNode):
4885        (WebCore::ApplyStyleCommand::removeInlineStyle):
4886        (WebCore::ApplyStyleCommand::shouldSplitTextElement):
4887        (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded):
4888        * editing/DeleteButtonController.cpp:
4889        (WebCore::enclosingDeletableElement):
4890        (WebCore::DeleteButtonController::show):
4891        * editing/Editor.cpp:
4892        (WebCore::Editor::setBaseWritingDirection):
4893        * editing/InsertListCommand.cpp:
4894        (WebCore::InsertListCommand::mergeWithNeighboringLists):
4895        * editing/ReplaceSelectionCommand.cpp:
4896        (WebCore::ReplaceSelectionCommand::negateStyleRulesThatAffectAppearance):
4897        (WebCore::ReplaceSelectionCommand::handleStyleSpans):
4898        (WebCore::ReplaceSelectionCommand::copyStyleToChildren):
4899        * editing/SelectionController.cpp:
4900        (WebCore::scanForForm):
4901        (WebCore::SelectionController::currentForm):
4902        * editing/htmlediting.cpp:
4903        (WebCore::enclosingList):
4904        (WebCore::enclosingListChild):
4905        (WebCore::embeddedSublist):
4906        (WebCore::appendedSublist):
4907        * editing/markup.cpp:
4908        (WebCore::StyledMarkupAccumulator::appendElement):
4909        * html/HTMLCollection.cpp:
4910        (WebCore::HTMLCollection::checkForNameMatch):
4911        (WebCore::HTMLCollection::updateNameCache):
4912        * html/HTMLElement.cpp:
4913        (WebCore::HTMLElement::setOuterHTML):
4914        (WebCore::HTMLElement::shadowAncestorOwnerForm):
4915        * html/HTMLFormElement.cpp:
4916        (WebCore::HTMLFormElement::formElementIndex):
4917        * html/HTMLSelectElement.cpp:
4918        (WebCore::HTMLSelectElement::setOption):
4919        (WebCore::HTMLSelectElement::setLength):
4920        * inspector/InspectorDOMAgent.cpp:
4921        (WebCore::InspectorDOMAgent::getOuterHTML):
4922        (WebCore::InspectorDOMAgent::setOuterHTML):
4923        * page/EventHandler.cpp:
4924        (WebCore::EventHandler::handleMouseMoveEvent):
4925        * rendering/RenderMeter.cpp:
4926        (WebCore::RenderMeter::createPart):
4927        * rendering/RenderTextControl.cpp:
4928        (WebCore::RenderTextControl::createSubtreeIfNeeded):
4929        * rendering/RenderTextControlSingleLine.cpp:
4930        (WebCore::RenderTextControlSingleLine::createSubtreeIfNeeded):
4931
49322011-02-09  Mike Reed  <reed@google.com>
4933
4934        Reviewed by Kenneth Russell.
4935
4936        Use Skia's device->readPixels() when its bitmap claims to have no pixels, as this
4937        handles the case when the device is backed by the GPU.
4938        Patch developed by bsalomon@google.com
4939
4940        No new tests. Existing canvas tests suffice
4941        e.g. LayoutTests/canvas/philip/... 
4942
4943        * platform/graphics/skia/ImageBufferSkia.cpp:
4944        (WebCore::getImageData):
4945        (WebCore::ImageBuffer::getUnmultipliedImageData):
4946        (WebCore::ImageBuffer::getPremultipliedImageData):
4947        (WebCore::putImageData):
4948        (WebCore::ImageBuffer::putUnmultipliedImageData):
4949        (WebCore::ImageBuffer::putPremultipliedImageData):
4950
49512011-02-09  Adam Barth  <abarth@webkit.org>
4952
4953        Reviewed by Eric Seidel.
4954
4955        document.close shouldn't affect non-script-created parsers
4956        https://bugs.webkit.org/show_bug.cgi?id=53689
4957
4958        Tests: fast/frames/document-write-in-iframe-onload-3.html
4959               fast/parser/iframe-onload-document-close-with-external-script-2.html
4960               fast/parser/iframe-onload-document-close-with-external-script-3.html
4961               fast/parser/iframe-onload-document-close-with-external-script.html
4962               fast/parser/setTimeout-open.html
4963
4964        Move our implementation of document.close closer to the spec by
4965        introducing the notion of a script-created parser.  This area of our
4966        code is somewhat hairy.  It might take a few more iterations before we
4967        fully come up to spec.
4968
4969        * dom/Document.cpp:
4970        (WebCore::Document::setContent):
4971        (WebCore::Document::open):
4972        (WebCore::Document::cancelParsing):
4973        (WebCore::Document::close):
4974            - Over time, this method should converge to the spec.
4975        (WebCore::Document::explicitClose):
4976            - I'm not in love with this name.  Somehow we want to differentiate
4977              between Document closing itself and the document.close DOM
4978              method.
4979        (WebCore::Document::removePendingSheet):
4980        * dom/Document.h:
4981        * dom/ScriptableDocumentParser.cpp:
4982        (WebCore::ScriptableDocumentParser::ScriptableDocumentParser):
4983        * dom/ScriptableDocumentParser.h:
4984        (WebCore::ScriptableDocumentParser::setWasCreatedByScript):
4985        (WebCore::ScriptableDocumentParser::wasCreatedByScript):
4986            - General nonsense to keep track of whether the parser was created
4987              by script.
4988        * html/parser/HTMLDocumentParser.cpp:
4989        (WebCore::HTMLDocumentParser::hasInsertionPoint):
4990            - I'm not sure whether this part of the change is 100% correct.  I
4991              think our notion of the EOF character might be subtly different
4992              from the notion in the spec.
4993        * html/parser/HTMLInputStream.h:
4994        (WebCore::HTMLInputStream::hasInsertionPoint):
4995            - Remove FIXME because we're fixing that!
4996
49972011-02-09  Abhishek Arya  <inferno@chromium.org>
4998
4999        Reviewed by James Robinson.
5000
5001        [Chromium] Issue 72387: Integer bounds crash in LayerTilerChromium::resizeLayer
5002        https://bugs.webkit.org/show_bug.cgi?id=54132
5003 
5004        * platform/graphics/chromium/LayerTilerChromium.cpp:
5005        (WebCore::LayerTilerChromium::resizeLayer):
5006
50072011-02-09  Xiyuan Xia  <xiyuan@chromium.org>
5008
5009        Reviewed by Tony Chang.
5010
5011        [Chromium] Use #f7f7f7 for select popup background on chromium/linux
5012        https://bugs.webkit.org/show_bug.cgi?id=54115
5013
5014        No new tests since no behavior change.
5015
5016        * css/themeChromiumLinux.css:
5017        (select[size="1"] option):
5018
50192011-02-09  Adam Barth  <abarth@webkit.org>
5020
5021        Reviewed by Eric Seidel.
5022
5023        REGRESSION(HTML 5): HTMLDocumentParser does not report html parse errors to the console
5024        https://bugs.webkit.org/show_bug.cgi?id=41187
5025
5026        Wire up a basic HTML parse error message.  There's a lot of room for
5027        improvement in this area, but this is a start.
5028
5029        No tests!  See https://bugs.webkit.org/show_bug.cgi?id=54134
5030
5031        * html/parser/HTMLDocumentParser.h:
5032        * html/parser/HTMLTreeBuilder.cpp:
5033        (WebCore::HTMLTreeBuilder::parseError):
5034        * html/parser/HTMLTreeBuilder.h:
5035
50362011-02-09  Naoki Takano  <takano.naoki@gmail.com>
5037
5038        Reviewed by Kenneth Russell.
5039
5040        [Chromium] Issue 58536: Fix Layout Test canvas/philip/tests/2d.imageData.put.alpha.html with --accelerated-2d-canvas.
5041        https://bugs.webkit.org/show_bug.cgi?id=53757
5042
5043          This fix is for 2d.imageData.put.alpha.html with --accelerated-2d-canvas. No new tests.
5044
5045        * platform/graphics/skia/ImageBufferSkia.cpp:
5046        (WebCore::ImageBuffer::putUnmultipliedImageData): needs to call syncSoftwareCanvas() to sync between hardware and software.
5047        (WebCore::ImageBuffer::putPremultipliedImageData): needs to call syncSoftwareCanvas() to sync between hardware and software.
5048
5049
50502011-02-09  Chris Rogers  <crogers@google.com>
5051
5052        Reviewed by Kenneth Russell.
5053
5054        Fix scaling and thread safety of FFTFrameFFTW
5055        https://bugs.webkit.org/show_bug.cgi?id=54045
5056
5057        No new tests since audio API is not yet implemented.
5058
5059        * platform/audio/FFTFrame.h:
5060        * platform/audio/fftw/FFTFrameFFTW.cpp:
5061        (WebCore::FFTFrame::FFTFrame):
5062        (WebCore::FFTFrame::doFFT):
5063        (WebCore::FFTFrame::doInverseFFT):
5064        (WebCore::FFTFrame::initialize):
5065        (WebCore::FFTFrame::cleanup):
5066        (WebCore::FFTFrame::realData):
5067        (WebCore::FFTFrame::imagData):
5068        (WebCore::FFTFrame::fftwPlanForSize):
5069        * platform/audio/mac/FFTFrameMac.cpp:
5070        (WebCore::FFTFrame::initialize):
5071        * platform/audio/mkl/FFTFrameMKL.cpp:
5072        (WebCore::FFTFrame::initialize):
5073        * webaudio/AudioContext.cpp:
5074        (WebCore::AudioContext::AudioContext):
5075
50762011-02-09  Chris Fleizach  <cfleizach@apple.com>
5077
5078        Reviewed by Darin Adler.
5079
5080        AX: accessibilityShouldUseUniqueId doesn't need to be in the core AX object
5081        https://bugs.webkit.org/show_bug.cgi?id=54126
5082
5083        This is a Mac-only accessibility API concept and doesn't belong in the core AX object.
5084
5085        * accessibility/AccessibilityObject.h:
5086        (WebCore::AccessibilityObject::node):
5087        * accessibility/mac/AccessibilityObjectWrapper.mm:
5088        (-[AccessibilityObjectWrapper accessibilityShouldUseUniqueId]):
5089
50902011-02-09  Nebojsa Ciric  <cira@chromium.org>
5091
5092        Reviewed by Darin Fisher.
5093
5094        Implements Locale object of JavaScript internationalization API proposal, as an
5095        v8 extension. Extension code is hosted in v8 project (src/extensions/experimental/i18n-extension.{cc,h})
5096        and in this patch we just provide flags, tests and build rules for chromium port.
5097        https://bugs.webkit.org/show_bug.cgi?id=49414
5098
5099        Test: fast/js/i18n-bindings-locale.html
5100
5101        * WebCore.gyp/WebCore.gyp:
5102        * bindings/generic/RuntimeEnabledFeatures.cpp:
5103        (WebCore::RuntimeEnabledFeatures::experimentalI18NAPIEnabled):
5104        * bindings/generic/RuntimeEnabledFeatures.h:
5105        (WebCore::RuntimeEnabledFeatures::setExperimentalI18NAPIEnabled):
5106        * bindings/v8/V8DOMWindowShell.cpp:
5107        (WebCore::V8DOMWindowShell::createNewContext):
5108
51092011-02-08  Dimitri Glazkov  <dglazkov@chromium.org>
5110
5111        Reviewed by Darin Adler.
5112
5113        REGRESSION(r71934): Shadow DOM nodes leak via relatedTarget
5114        https://bugs.webkit.org/show_bug.cgi?id=52065
5115
5116        * dom/Node.cpp:
5117        (WebCore::pullOutOfShadow): Added a helper to move a node to the outermost
5118            boundary of shadow DOM.
5119        (WebCore::Node::dispatchMouseEvent): Changed to use pullOutOfShadow.
5120
51212011-02-09  Yael Aharon  <yael.aharon@nokia.com>
5122
5123        Reviewed by Darin Adler.
5124
5125        Add convenience method toHTMLElement(Node*)
5126        https://bugs.webkit.org/show_bug.cgi?id=54105
5127
5128        No new tests since no new functionality introduced.
5129
5130        * html/HTMLElement.h:
5131        (WebCore::toHTMLElement):
5132
51332011-02-09  Sam Weinig  <sam@webkit.org>
5134
5135        Reviewed by Dan Bernstein.
5136
5137        Fixed positioned elements at very top or bottom of page remain fixed but clip during rubber-banding
5138        <rdar://problem/7615997>
5139        https://bugs.webkit.org/show_bug.cgi?id=54054
5140
5141        Take the overhang into account when calculating position for elements with position: fixed.
5142
5143        * platform/ScrollView.cpp:
5144        (WebCore::ScrollView::scrollXForFixedPosition):
5145        (WebCore::ScrollView::scrollYForFixedPosition):
5146        (WebCore::ScrollView::scrollOffsetForFixedPosition):
5147        * platform/ScrollView.h:
5148        * rendering/RenderView.cpp:
5149        (WebCore::RenderView::mapLocalToContainer):
5150        (WebCore::RenderView::mapAbsoluteToLocalPoint):
5151        (WebCore::RenderView::computeRectForRepaint):
5152
51532011-02-09  Simon Fraser  <simon.fraser@apple.com>
5154
5155        Reviewed by Dirk Schulze.
5156
5157        Enhance ShadowBlur to tile inset box shadows
5158        https://bugs.webkit.org/show_bug.cgi?id=51567
5159        
5160        Add a tiling code path to ShadowBlur for rendering inset
5161        box-shadows.
5162
5163        Test: fast/box-shadow/inset-box-shadows.html
5164        
5165        * platform/graphics/ShadowBlur.cpp:
5166        (WebCore::computeSliceSizesFromRadii): Compute the slice sizes
5167        for the eight-piece shadow template.
5168        (WebCore::ShadowBlur::templateSize): Compute the size of the template,
5169        given the slice sizes.
5170        (WebCore::ShadowBlur::drawRectShadow): Bail early if layerRect is empty
5171        (which probably means we're clipped out). Call templateSize() and use
5172        the result to decide whether to tile.
5173        (WebCore::ShadowBlur::drawInsetShadow): New method for inset shadows.
5174        (WebCore::ShadowBlur::drawRectShadowWithoutTiling): Code moved.
5175        (WebCore::ShadowBlur::drawInsetShadowWithoutTiling): The non-tiling code
5176        path for inset shadows.
5177        (WebCore::ShadowBlur::drawInsetShadowWithTiling): Fill the shadow template
5178        buffer, paint the non-blurred area of the destination, and then call drawLayerPieces()
5179        to paint the eight-piece template image.
5180        (WebCore::ShadowBlur::drawRectShadowWithTiling): Refactored code, now
5181        shares the blurring code via blurAndColorShadowBuffer(), and the tiled template
5182        drawing via drawLayerPieces().
5183        (WebCore::ShadowBlur::drawLayerPieces): Draw an eight-piece image from the
5184        shadow template to the destination.
5185        (WebCore::ShadowBlur::blurAndColorShadowBuffer): Blur the pixels in the image
5186        buffer, and colorize them using the CompositeSourceIn operation.
5187        * platform/graphics/ShadowBlur.h:
5188
51892011-02-09  Jochen Eisinger  <jochen@chromium.org>
5190
5191        Reviewed by Adam Barth.
5192
5193        Disable script elements when a CSP header is present
5194        https://bugs.webkit.org/show_bug.cgi?id=53867
5195
5196        Tests: http/tests/security/contentSecurityPolicy/no-policy.html
5197               http/tests/security/contentSecurityPolicy/script-src-in-iframe.html
5198               http/tests/security/contentSecurityPolicy/script-src-none.html
5199               http/tests/security/contentSecurityPolicy/script-src-redirect.html
5200
5201        * html/parser/HTMLDocumentParser.cpp:
5202        (WebCore::HTMLDocumentParser::shouldLoadExternalScriptFromSrc):
5203        * html/parser/HTMLScriptRunner.cpp:
5204        (WebCore::HTMLScriptRunner::requestPendingScript):
5205        * loader/FrameLoader.cpp:
5206        (WebCore::FrameLoader::didBeginDocument):
5207        * loader/MainResourceLoader.cpp:
5208        (WebCore::MainResourceLoader::didReceiveResponse):
5209        * page/ContentSecurityPolicy.cpp:
5210        (WebCore::ContentSecurityPolicy::ContentSecurityPolicy):
5211        (WebCore::ContentSecurityPolicy::didReceiveHeader):
5212        (WebCore::ContentSecurityPolicy::canLoadExternalScriptFromSrc):
5213        * page/ContentSecurityPolicy.h:
5214
52152011-02-09  Patrick Gansterer  <paroga@webkit.org>
5216
5217        Unreviewed WinCE build fix for r78047.
5218
5219        ContextMenu.cpp and ContextMenuItem.cpp have a USE(CROSS_PLATFORM_CONTEXT_MENUS),
5220        so they shouldn't cause problems with correct preprocessor defines.
5221
5222        * CMakeLists.txt:
5223
52242011-02-09  Ilya Tikhonovsky  <loislo@chromium.org>
5225
5226        Reviewed by Pavel Feldman.
5227
5228        Web Inspector: InspectorAgent should know nothing about InspectorController instance.
5229
5230        https://bugs.webkit.org/show_bug.cgi?id=54100
5231
5232        * inspector/InspectorAgent.cpp:
5233        (WebCore::InspectorAgent::InspectorAgent):
5234        (WebCore::InspectorAgent::restoreInspectorStateFromCookie):
5235        (WebCore::InspectorAgent::disconnectFrontend):
5236        * inspector/InspectorAgent.h:
5237        * inspector/InspectorController.cpp:
5238        (WebCore::InspectorController::InspectorController):
5239        (WebCore::InspectorController::disconnectFrontend):
5240        (WebCore::InspectorController::restoreInspectorStateFromCookie):
5241
52422011-02-09  Pavel Podivilov  <podivilov@chromium.org>
5243
5244        Reviewed by Pavel Feldman.
5245
5246        Web Inspector: source frame scroll position is not restored.
5247        https://bugs.webkit.org/show_bug.cgi?id=54101
5248
5249        * inspector/front-end/ScriptsPanel.js:
5250        (WebInspector.ScriptsPanel.prototype._scriptSourceChanged):
5251        * inspector/front-end/SourceFrame.js:
5252        (WebInspector.SourceFrame.prototype.show):
5253        (WebInspector.SourceFrame.prototype.hide):
5254        (WebInspector.SourceFrame.prototype.get scrollTop):
5255        (WebInspector.SourceFrame.prototype.set scrollTop):
5256        * inspector/front-end/TextViewer.js:
5257        (WebInspector.TextViewer.prototype.get scrollTop):
5258        (WebInspector.TextViewer.prototype.set scrollTop):
5259        (WebInspector.TextViewer.prototype.get scrollLeft):
5260        (WebInspector.TextViewer.prototype.set scrollLeft):
5261
52622011-02-09  Pavel Feldman  <pfeldman@chromium.org>
5263
5264        Reviewed by Yury Semikhatsky.
5265
5266        Web Inspector: follow up on InspectorAgent split -
5267        removing unnecessary methods from InspectorController.
5268        https://bugs.webkit.org/show_bug.cgi?id=54093
5269
5270        * WebCore.exp.in:
5271        * inspector/InspectorAgent.cpp:
5272        (WebCore::InspectorAgent::stopUserInitiatedProfiling):
5273        (WebCore::InspectorAgent::showAndEnableDebugger):
5274        (WebCore::InspectorAgent::enabled):
5275        (WebCore::InspectorAgent::showConsole):
5276        * inspector/InspectorAgent.h:
5277        * inspector/InspectorController.cpp:
5278        (WebCore::InspectorController::InspectorController):
5279        (WebCore::InspectorController::didClearWindowObjectInWorld):
5280        (WebCore::InspectorController::showConsole):
5281        (WebCore::InspectorController::enabled):
5282        (WebCore::InspectorController::inspectedPage):
5283        * inspector/InspectorController.h:
5284        * inspector/InspectorFrontendClientLocal.cpp:
5285
52862011-02-07  Chris Marrin  <cmarrin@apple.com>
5287
5288        Reviewed by Simon Fraser.
5289
5290        LayoutTests/animations/play-state.html has wrong behavior with accelerated compositing
5291        https://bugs.webkit.org/show_bug.cgi?id=53513
5292
5293        The PlatformCAAnimation::create() function which took a pointer to another
5294        PlatformCAAnimation was supposed to make a copy of that passed object.
5295        But it was doing completely the wrong thing on Mac and was leaking an object
5296        to boot. And the notion of copying an object using a static creation function
5297        is wrong in the first place. So I changed it to a member copy() function
5298        which would create a new PlatformCAAnimation which was a copy of 'this' and
5299        return it. I changed the implementation on both Mac and Win to match.
5300
5301        This problem was not caught by DRT, even there is a specific test for it.
5302        That test just verifies that the higher level logic is working 
5303        properly, which it is. There's no practical way to find out if the
5304        layer is currently animating. There is no logic which probes that
5305        deeply into the layer mechanics.
5306        
5307        * platform/graphics/ca/GraphicsLayerCA.cpp:
5308        * platform/graphics/ca/PlatformCAAnimation.h:
5309        * platform/graphics/ca/mac/PlatformCAAnimationMac.mm:
5310        * platform/graphics/ca/win/PlatformCAAnimationWin.cpp:
5311
53122011-02-09  Lucas De Marchi  <lucas.demarchi@profusion.mobi>
5313
5314        Unreviewed build fix.
5315
5316        [EFL] Remove double definition of ContextMenu.
5317        https://bugs.webkit.org/show_bug.cgi?id=50762
5318
5319        When building with SHARED_CORE enabled, the symbols of ContextMenu
5320        were both in webkit and webcore. This removes them from webcore and
5321        shall be put back once the CROSS_PLATFORM_CONTEXT_MENUS is implemented
5322        in EFL port.
5323
5324        No new tests because no new functionality.
5325
5326        * CMakeLists.txt:
5327
53282011-02-09  Adam Roben  <aroben@apple.com>
5329
5330        Windows Production build fix
5331
5332        * WebCore.vcproj/QTMovieWinCommon.vsprops: Link against
5333        WebKitSystemInterface$(WebKitConfigSuffix).lib, not just WebKitSystemInterface.lib, so we
5334        pick up the _debug variant when appropriate.
5335
53362011-02-09  Eric Seidel  <eric@webkit.org>
5337
5338        Reviewed by Adam Barth.
5339
5340        Hostnames should cannonicalize to lowercase (to match every other browser)
5341        https://bugs.webkit.org/show_bug.cgi?id=54084
5342
5343        * platform/KURL.cpp:
5344        (WebCore::KURL::parse):
5345
53462011-02-09  Peter Varga  <pvarga@webkit.org>
5347
5348
5349        Reviewed by Gavin Barraclough.
5350
5351        Replace PCRE with Yarr in WebCore
5352        https://bugs.webkit.org/show_bug.cgi?id=53496
5353
5354        No new tests needed.
5355
5356        * Android.jscbindings.mk:
5357        * CMakeLists.txt:
5358        * ForwardingHeaders/pcre/pcre.h: Removed.
5359        * ForwardingHeaders/yarr/Yarr.h: Added.
5360        * ForwardingHeaders/yarr/YarrInterpreter.h: Added.
5361        * ForwardingHeaders/yarr/YarrPattern.h: Added.
5362        * WebCore.gyp/WebCore.gyp:
5363        * WebCore.pro:
5364        * WebCore.vcproj/WebCore.vcproj:
5365        * WebCore.vcproj/copyForwardingHeaders.cmd:
5366        * platform/text/RegularExpression.cpp:
5367        (WebCore::RegularExpression::Private::create):
5368        (WebCore::RegularExpression::Private::Private):
5369        (WebCore::RegularExpression::Private::compile):
5370        (WebCore::RegularExpression::match):
5371
53722011-02-09  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
5373
5374        Reviewed by Eric Seidel.
5375
5376        [EFL] Add dummy functions for HTML5 Video's control UI
5377        https://bugs.webkit.org/show_bug.cgi?id=53906
5378
5379        In WebKit EFL, there are no implementations for HTML5 control UI.
5380        First, dummy functions are added.
5381
5382        * platform/efl/RenderThemeEfl.cpp:
5383        (WebCore::RenderThemeEfl::extraMediaControlsStyleSheet):
5384        (WebCore::RenderThemeEfl::formatMediaControlsCurrentTime):
5385        (WebCore::RenderThemeEfl::paintMediaFullscreenButton):
5386        (WebCore::RenderThemeEfl::paintMediaMuteButton):
5387        (WebCore::RenderThemeEfl::paintMediaPlayButton):
5388        (WebCore::RenderThemeEfl::paintMediaSeekBackButton):
5389        (WebCore::RenderThemeEfl::paintMediaSeekForwardButton):
5390        (WebCore::RenderThemeEfl::paintMediaSliderTrack):
5391        (WebCore::RenderThemeEfl::paintMediaSliderThumb):
5392        (WebCore::RenderThemeEfl::paintMediaVolumeSliderContainer):
5393        (WebCore::RenderThemeEfl::paintMediaVolumeSliderTrack):
5394        (WebCore::RenderThemeEfl::paintMediaVolumeSliderThumb):
5395        (WebCore::RenderThemeEfl::paintMediaCurrentTime):
5396        * platform/efl/RenderThemeEfl.h:
5397
53982011-02-09  Eric Seidel  <eric@webkit.org>
5399
5400        Reviewed by Adam Barth.
5401
5402        Make WebKit's fragment cannonicalization match other browsers
5403        https://bugs.webkit.org/show_bug.cgi?id=53850
5404
5405        This doesn't make us match perfectly, but it brings us closer.
5406
5407        * platform/KURL.cpp:
5408        (WebCore::appendEscapingBadChars):
5409        (WebCore::escapeAndAppendFragment):
5410        (WebCore::KURL::parse):
5411
54122011-02-09  Hans Wennborg  <hans@chromium.org>
5413
5414        Reviewed by Jeremy Orlow.
5415
5416        IndexedDB: Cursors should skip deleted entries
5417        https://bugs.webkit.org/show_bug.cgi?id=53690
5418
5419        Add test to check that the cursor skips deleted entries.
5420
5421        Test: storage/indexeddb/cursor-skip-deleted.html
5422
5423        * storage/IDBCursorBackendImpl.cpp:
5424        (WebCore::IDBCursorBackendImpl::currentRowExists):
5425        (WebCore::IDBCursorBackendImpl::continueFunctionInternal):
5426        * storage/IDBCursorBackendImpl.h:
5427
54282011-02-08  Pavel Podivilov  <podivilov@chromium.org>
5429
5430        Reviewed by Yury Semikhatsky.
5431
5432        Web Inspector: script formatter should not create a worker for each script.
5433        https://bugs.webkit.org/show_bug.cgi?id=54010
5434
5435        * inspector/front-end/ScriptFormatter.js:
5436        (WebInspector.ScriptFormatter):
5437        (WebInspector.ScriptFormatter.prototype._formatScript):
5438        (WebInspector.ScriptFormatter.prototype._handleMessage):
5439        (WebInspector.ScriptFormatter.prototype._handleError):
5440
54412011-02-08  Pavel Podivilov  <podivilov@chromium.org>
5442
5443        Reviewed by Pavel Feldman.
5444
5445        Web Inspector: sync uglifyjs parser files.
5446        https://bugs.webkit.org/show_bug.cgi?id=54003
5447
5448        * inspector/front-end/UglifyJS/parse-js.js:
5449        * inspector/front-end/UglifyJS/process.js:
5450
54512011-02-08  Ryosuke Niwa  <rniwa@webkit.org>
5452
5453        Reviewed by Darin Adler.
5454
5455        REGRESSION(71556,68059): queryCommandValue screws up background color at collapsed cursor
5456        https://bugs.webkit.org/show_bug.cgi?id=53196
5457
5458        The bug was caused by Editor::selectionComputedStyle's modifying typing style without making a copy,
5459        and its removing non-inheritable properties from the typing style. Fixed the bug by making a copy
5460        before making the modification and not removing non-inheritable properties.
5461
5462        Also fixed a bug in selectionStartCSSPropertyValue that it doesn't handle xx-small to -webkit-xxx-large
5463        by extracting a function from StyleChange::extractTextStyles and calling it in both extractTextStyles
5464        and selectionStartCSSPropertyValue.
5465
5466        Test: editing/style/query-typing-style.html
5467
5468        * editing/ApplyStyleCommand.cpp:
5469        (WebCore::legacyFontSizeFromCSSValue): Extracted from StyleChange::extractTextStyles.
5470        (WebCore::StyleChange::extractTextStyles): Calls legacyFontSizeFromCSSValue; this fixes the bug that
5471        CSS values from xx-small through -webkit-xxx-large are not accounted.
5472        * editing/ApplyStyleCommand.h:
5473        * editing/Editor.cpp:
5474        (WebCore::Editor::selectionStartCSSPropertyValue): Calls legacyFontSizeFromCSSValue.
5475        (WebCore::Editor::selectionComputedStyle): Makes a copy before modifying typing style.
5476        No longer calls removeNonEditingProperties on the copied typing style so that background-color property
5477        is included when merged into the style.
5478
54792011-02-08  Sam Weinig  <sam@webkit.org>
5480
5481        Reviewed by Maciej Stachowiak.
5482
5483        REGRESSION (r76831): Subframes are printed blank
5484        <rdar://problem/8945867>
5485
5486        * page/FrameView.cpp:
5487        (WebCore::FrameView::paintOverhangAreas):
5488        Don't paint overhangs when printing.
5489
54902011-02-07  Jeremy Orlow  <jorlow@chromium.org>
5491
5492        Reviewed by Nate Chapin.
5493
5494        Events should propagate through IDBDatabase (for IDBRequest and IDBTransaction)
5495        https://bugs.webkit.org/show_bug.cgi?id=53975
5496
5497        The third change in the series of overhauling IndexedDB's event model to match
5498        the spec (at least the version in our heads and bugs).
5499
5500        Test: storage/indexeddb/transaction-event-propagation.html
5501
5502        * bindings/v8/V8DOMWrapper.cpp:
5503        (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
5504        * dom/Event.cpp:
5505        (WebCore::Event::isIDBAbortEvent):
5506        (WebCore::Event::isIDBCompleteEvent):
5507        * dom/Event.h:
5508        * dom/EventTarget.cpp:
5509        (WebCore::EventTarget::toIDBDatabase):
5510        * dom/EventTarget.h:
5511        * storage/IDBDatabase.cpp:
5512        (WebCore::IDBDatabase::create):
5513        (WebCore::IDBDatabase::IDBDatabase):
5514        (WebCore::IDBDatabase::scriptExecutionContext):
5515        (WebCore::IDBDatabase::eventTargetData):
5516        (WebCore::IDBDatabase::ensureEventTargetData):
5517        * storage/IDBDatabase.h:
5518        (WebCore::IDBDatabase::toIDBDatabase):
5519        (WebCore::IDBDatabase::refEventTarget):
5520        (WebCore::IDBDatabase::derefEventTarget):
5521        * storage/IDBDatabase.idl:
5522        * storage/IDBRequest.cpp:
5523        (WebCore::IDBRequest::onSuccess):
5524        (WebCore::IDBRequest::dispatchEvent):
5525        * storage/IDBTransaction.cpp:
5526        (WebCore::IDBTransaction::backend):
5527        (WebCore::IDBTransaction::db):
5528        (WebCore::IDBTransaction::objectStore):
5529        (WebCore::IDBTransaction::scriptExecutionContext):
5530        (WebCore::IDBTransaction::dispatchEvent):
5531        (WebCore::IDBTransaction::enqueueEvent):
5532        * storage/IDBTransaction.h:
5533        (WebCore::IDBTransaction::dispatchEvent):
5534
55352011-02-08  Kenneth Russell  <kbr@google.com>
5536
5537        Reviewed by James Robinson.
5538
5539        Add cache for GPU-accelerated path processing results
5540        https://bugs.webkit.org/show_bug.cgi?id=45519
5541
5542        Adding a cache which holds the results of processing a path into
5543        interior and exterior triangle meshes, according to the path
5544        rendering algorithm from GPU Gems 3. No tests yet; will be tested
5545        in conjunction with later code.
5546
5547        * platform/graphics/gpu/LoopBlinnPathCache.cpp: Added.
5548        (WebCore::LoopBlinnPathCache::LoopBlinnPathCache):
5549        (WebCore::LoopBlinnPathCache::~LoopBlinnPathCache):
5550        (WebCore::LoopBlinnPathCache::addVertex):
5551        (WebCore::LoopBlinnPathCache::clear):
5552        (WebCore::LoopBlinnPathCache::addInteriorVertex):
5553        (WebCore::LoopBlinnPathCache::numberOfInteriorEdgeVertices):
5554        (WebCore::LoopBlinnPathCache::interiorEdgeVertices):
5555        (WebCore::LoopBlinnPathCache::addInteriorEdgeVertex):
5556        * platform/graphics/gpu/LoopBlinnPathCache.h: Added.
5557        (WebCore::LoopBlinnPathCache::numberOfVertices):
5558        (WebCore::LoopBlinnPathCache::vertices):
5559        (WebCore::LoopBlinnPathCache::texcoords):
5560        (WebCore::LoopBlinnPathCache::numberOfInteriorVertices):
5561        (WebCore::LoopBlinnPathCache::interiorVertices):
5562
55632011-02-08  Zhenyao Mo  <zmo@google.com>
5564
5565        Reviewed by Kenneth Russell.
5566
5567        Rename GraphicsContext3D::WebGLEnumType
5568        https://bugs.webkit.org/show_bug.cgi?id=45708
5569
5570        * html/canvas/WebGLProgram.cpp:
5571        (WebCore::WebGLProgram::getAttachedShader):
5572        * html/canvas/WebGLProgram.h:
5573        * platform/graphics/GraphicsContext3D.h:
5574
55752011-02-08  Sheriff Bot  <webkit.review.bot@gmail.com>
5576
5577        Unreviewed, rolling out r77980.
5578        http://trac.webkit.org/changeset/77980
5579        https://bugs.webkit.org/show_bug.cgi?id=54043
5580
5581        "Crashes on Windows and Linux..." (Requested by leviw on
5582        #webkit).
5583
5584        * WebCore.exp.in:
5585        * accessibility/AXObjectCache.cpp:
5586        (WebCore::AXObjectCache::visiblePositionForTextMarkerData):
5587        * accessibility/AccessibilityObject.cpp:
5588        (WebCore::startOfStyleRange):
5589        (WebCore::endOfStyleRange):
5590        * accessibility/AccessibilityRenderObject.cpp:
5591        (WebCore::AccessibilityRenderObject::visiblePositionForIndex):
5592        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
5593        (objectAndOffsetUnignored):
5594        * dom/Position.cpp:
5595        (WebCore::Position::upstream):
5596        (WebCore::Position::downstream):
5597        * dom/Range.cpp:
5598        (WebCore::Range::editingStartPosition):
5599        * editing/Editor.cpp:
5600        (WebCore::Editor::canDeleteRange):
5601        * editing/ReplaceSelectionCommand.cpp:
5602        (WebCore::ReplaceSelectionCommand::doApply):
5603        * editing/SelectionController.cpp:
5604        (WebCore::SelectionController::selectFrameElementInParentIfFullySelected):
5605        (WebCore::SelectionController::setSelectedRange):
5606        * editing/TextIterator.cpp:
5607        (WebCore::TextIterator::shouldRepresentNodeOffsetZero):
5608        * editing/TypingCommand.cpp:
5609        (WebCore::TypingCommand::deleteKeyPressed):
5610        * editing/VisiblePosition.cpp:
5611        (WebCore::VisiblePosition::VisiblePosition):
5612        (WebCore::VisiblePosition::leftVisuallyDistinctCandidate):
5613        (WebCore::VisiblePosition::rightVisuallyDistinctCandidate):
5614        (WebCore::VisiblePosition::canonicalPosition):
5615        (WebCore::VisiblePosition::characterAfter):
5616        (WebCore::VisiblePosition::localCaretRect):
5617        (WebCore::makeRange):
5618        (WebCore::startVisiblePosition):
5619        (WebCore::endVisiblePosition):
5620        (WebCore::setStart):
5621        (WebCore::setEnd):
5622        (WebCore::isFirstVisiblePositionInNode):
5623        (WebCore::isLastVisiblePositionInNode):
5624        * editing/VisiblePosition.h:
5625        * editing/htmlediting.cpp:
5626        (WebCore::firstInSpecialElement):
5627        (WebCore::lastInSpecialElement):
5628        (WebCore::visiblePositionBeforeNode):
5629        (WebCore::visiblePositionAfterNode):
5630        * editing/visible_units.cpp:
5631        (WebCore::startPositionForLine):
5632        (WebCore::endPositionForLine):
5633        (WebCore::previousLinePosition):
5634        (WebCore::nextLinePosition):
5635        (WebCore::startOfParagraph):
5636        (WebCore::endOfParagraph):
5637        (WebCore::endOfBlock):
5638        (WebCore::startOfDocument):
5639        (WebCore::endOfDocument):
5640        (WebCore::logicalStartPositionForLine):
5641        (WebCore::logicalEndPositionForLine):
5642        * page/DOMSelection.cpp:
5643        (WebCore::DOMSelection::collapse):
5644        (WebCore::DOMSelection::setBaseAndExtent):
5645        (WebCore::DOMSelection::setPosition):
5646        (WebCore::DOMSelection::extend):
5647        * page/EventHandler.cpp:
5648        (WebCore::EventHandler::handleMousePressEventSingleClick):
5649        * rendering/RenderObject.cpp:
5650        (WebCore::RenderObject::createVisiblePosition):
5651        * rendering/RenderTextControl.cpp:
5652        (WebCore::RenderTextControl::visiblePositionForIndex):
5653        * svg/SVGTextContentElement.cpp:
5654        (WebCore::SVGTextContentElement::selectSubString):
5655
56562011-02-08  Jia Pu  <jpu@apple.com>
5657
5658        Reviewed by Darin Adler.
5659
5660        VisibleSelection::setWithoutValidation() should allow caret selection.
5661        https://bugs.webkit.org/show_bug.cgi?id=53943
5662
5663        Test: editing/undo/undo-paste-when-caret-is-not-in-range.html
5664
5665        * editing/VisibleSelection.cpp:
5666        (WebCore::VisibleSelection::setWithoutValidation):
5667
56682011-02-08  Martin Robinson  <mrobinson@igalia.com>
5669
5670        Reviewed by Xan Lopez.
5671
5672        [GTK] Remove the last remnants of the Mozilla theme drawing code
5673        https://bugs.webkit.org/show_bug.cgi?id=54035
5674
5675        Remove all Mozilla theme drawing code.
5676
5677        No new tests. This change only removes dead code.
5678
5679        * GNUmakefile.am: Remove Mozilla files from the source list.
5680        * platform/gtk/RenderThemeGtk.h: Remove Mozilla-theme-drawing-related methods
5681        and add m_colormap to hold the current colormap of the widgets.
5682        * platform/gtk/RenderThemeGtk2.cpp: Remove Mozilla code.
5683        (WebCore::RenderThemeGtk::platformInit): Ditto.
5684        (WebCore::RenderThemeGtk::~RenderThemeGtk): Ditto.
5685        (WebCore::RenderThemeGtk::gtkContainer): Ditto.
5686        * platform/gtk/ScrollbarThemeGtk2.cpp: Ditto.
5687        * platform/gtk/WidgetRenderingContext.cpp: Ditto.
5688        (WebCore::WidgetRenderingContext::WidgetRenderingContext): Ditto.
5689        * platform/gtk/WidgetRenderingContext.h: Ditto.
5690        * platform/gtk/gtk2drawing.c: Removed.
5691        * platform/gtk/gtkdrawing.h: Removed.
5692
56932011-02-08  Yael Aharon  <yael.aharon@nokia.com>
5694
5695        Reviewed by Antti Koivisto.
5696
5697        Crash when logging into gmail.com with frame flattening turned on.
5698        https://bugs.webkit.org/show_bug.cgi?id=52449
5699
5700        Frame flattening algorithm requires that layout always starts from the main frame, since layout of
5701        subframes impacts the layout of their parents. 
5702        There are places in the code that call view->layout() not on the main frame.
5703        Instead of changing all the callsites, I changed FrameView::layout()
5704        to force layout from the main frame if frame flattening is enabled.
5705        In addition, postLayoutTasks can trigger relayout, so make it use the timer even more.
5706        Move the call to SelectionController::updateAppearance() to performPostLayoutTasks(), 
5707        because calling the from layout() leads to a crash in pages that have a selection in an iframe.
5708
5709        Tests: fast/frames/flattening/iframe-flattening-crash.html
5710               fast/frames/flattening/iframe-flattening-selection-crash.html
5711
5712        * page/FrameView.cpp:
5713        (WebCore::FrameView::layout):
5714        (WebCore::FrameView::performPostLayoutTasks):
5715
57162011-02-08  Andy Estes  <aestes@apple.com>
5717
5718        Reviewed by Darin Adler.
5719
5720        <rdar://problem/8913952> REGRESSION (r76301): 'plaintext-only' must be
5721        a supported contentEditable mode.
5722        https://bugs.webkit.org/show_bug.cgi?id=54041
5723
5724        * html/HTMLElement.cpp:
5725        (WebCore::HTMLElement::setContentEditable): Setting the contentEditable
5726        attribute to 'plaintext-only' should not throw an exception.
5727
57282011-02-08  Dan Bernstein  <mitz@apple.com>
5729
5730        Reviewed by Simon Fraser.
5731
5732        RenderRubyRun::m_beingDestroyed is redundant
5733        https://bugs.webkit.org/show_bug.cgi?id=54042
5734
5735        * rendering/RenderRubyRun.cpp:
5736        (WebCore::RenderRubyRun::RenderRubyRun): Removed intialization of m_beingDestroyed.
5737        (WebCore::RenderRubyRun::removeChild): Use the base class beingDestroyed(). 
5738        * rendering/RenderRubyRun.h:
5739
57402011-02-08  Levi Weintraub  <leviw@chromium.org>
5741
5742        Reviewed by Ryosuke Niwa.
5743
5744        Stop instantiating legacy editing Positions in VisiblePosition
5745        https://bugs.webkit.org/show_bug.cgi?id=52919
5746
5747        Changing VisiblePosition completely away from legacy positions.
5748
5749        No new tests since this is functionaly equivalent.
5750
5751        * WebCore.exp.in: Removing the legacy VisiblePosition constructor and
5752        adding the PositionIsOffsetInAnchor symbol. If we must create VisiblePositions
5753        outside of WebCore, they should be parent anchored.
5754        * accessibility/AXObjectCache.cpp:
5755        (WebCore::AXObjectCache::visiblePositionForTextMarkerData):
5756        * accessibility/AccessibilityObject.cpp:
5757        (WebCore::startOfStyleRange):
5758        (WebCore::endOfStyleRange):
5759        * accessibility/AccessibilityRenderObject.cpp:
5760        (WebCore::AccessibilityRenderObject::visiblePositionForIndex):
5761        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
5762        (objectAndOffsetUnignored):
5763        * dom/Position.cpp:
5764        (WebCore::Position::upstream): Fixed to correctly respect PositionIsAfterAnchor
5765        (WebCore::Position::downstream): ditto
5766        * dom/Range.cpp:
5767        (WebCore::Range::editingStartPosition):
5768        * editing/Editor.cpp:
5769        (WebCore::Editor::canDeleteRange):
5770        * editing/ReplaceSelectionCommand.cpp:
5771        (WebCore::ReplaceSelectionCommand::doApply):
5772        * editing/SelectionController.cpp:
5773        (WebCore::SelectionController::selectFrameElementInParentIfFullySelected):
5774        (WebCore::SelectionController::setSelectedRange):
5775        * editing/TextIterator.cpp:
5776        (WebCore::TextIterator::shouldRepresentNodeOffsetZero):
5777        * editing/TypingCommand.cpp:
5778        (WebCore::TypingCommand::deleteKeyPressed):
5779        * editing/VisiblePosition.cpp:
5780        (WebCore::VisiblePosition::leftVisuallyDistinctCandidate):
5781        (WebCore::VisiblePosition::rightVisuallyDistinctCandidate):
5782        (WebCore::VisiblePosition::canonicalPosition):
5783        (WebCore::VisiblePosition::characterAfter):
5784        (WebCore::VisiblePosition::localCaretRect):
5785        (WebCore::makeRange):
5786        (WebCore::startVisiblePosition):
5787        (WebCore::endVisiblePosition):
5788        (WebCore::setStart):
5789        (WebCore::setEnd):
5790        (WebCore::isFirstVisiblePositionInNode):
5791        (WebCore::isLastVisiblePositionInNode):
5792        * editing/VisiblePosition.h:
5793        (WebCore::VisiblePosition::VisiblePosition):
5794        * editing/htmlediting.cpp:
5795        (WebCore::firstInSpecialElement):
5796        (WebCore::lastInSpecialElement):
5797        (WebCore::visiblePositionBeforeNode):
5798        (WebCore::visiblePositionAfterNode):
5799        * editing/visible_units.cpp:
5800        (WebCore::startPositionForLine):
5801        (WebCore::endPositionForLine):
5802        (WebCore::previousLinePosition):
5803        (WebCore::nextLinePosition):
5804        (WebCore::startOfParagraph):
5805        (WebCore::endOfParagraph):
5806        (WebCore::endOfBlock):
5807        (WebCore::startOfDocument):
5808        (WebCore::endOfDocument):
5809        (WebCore::logicalStartPositionForLine):
5810        (WebCore::logicalEndPositionForLine):
5811        * page/DOMSelection.cpp:
5812        (WebCore::DOMSelection::collapse):
5813        (WebCore::DOMSelection::setBaseAndExtent):
5814        (WebCore::DOMSelection::setPosition):
5815        (WebCore::DOMSelection::extend):
5816        * page/EventHandler.cpp:
5817        (WebCore::EventHandler::handleMousePressEventSingleClick):
5818        * rendering/RenderObject.cpp:
5819        (WebCore::RenderObject::createVisiblePosition):
5820        * rendering/RenderTextControl.cpp:
5821        (WebCore::RenderTextControl::visiblePositionForIndex):
5822        * svg/SVGTextContentElement.cpp:
5823        (WebCore::SVGTextContentElement::selectSubString):
5824
58252011-02-08  Michael Saboff  <msaboff@apple.com>
5826
5827        JSC::Bindings m_rootObject->isValid() assert fails when running layout tests
5828        https://bugs.webkit.org/show_bug.cgi?id=53716
5829
5830        Changed ASSERT to be an if for the case where the RuntimeObject was
5831        GC'ed before RootObject::invalidate is called.  In that case there is 
5832        no need to remove the RuntimeObject from the RootObject.  The isValid()
5833        call will be false in this case, but the RuntimeObject has already
5834        been removed from the RootObject.  Added similar defensive code
5835        in RootObject::removeRuntimeObject().
5836
5837        * bridge/jsc/BridgeJSC.cpp:
5838        (JSC::Bindings::Instance::willDestroyRuntimeObject):
5839        * bridge/runtime_root.cpp:
5840        (JSC::Bindings::RootObject::removeRuntimeObject):
5841
58422011-02-08  Beth Dakin  <bdakin@apple.com>
5843
5844        Reviewed by Darin Adler.
5845
5846        Fix for <rdar://problem/8953365> CrashTracer: 14 
5847        crashes in WebProcess at com.apple.WebCore: 
5848        -[ScrollKnobAnimation setCurrentProgress:] + 258
5849
5850        This crash seems to happen when the animation is running
5851        and a window is closed. If the ScrollAnimator is destroyed,
5852        delegate calls for the animation can still run, so we have 
5853        to make sure we inform the delegates when the ScrollAnimator 
5854        is gone, and then we have to null-check it before we do 
5855        anything with it.
5856
5857        Remove scrollbarPainterDelegate() since it's not used anymore.
5858        * platform/mac/ScrollAnimatorMac.h:
5859        * platform/mac/ScrollAnimatorMac.mm:
5860        
5861        Add null-checks for _animator
5862        (-[ScrollbarPartAnimation setCurrentProgress:]):
5863        (-[ScrollbarPartAnimation scrollAnimatorDestroyed]):
5864        (-[ScrollbarPainterDelegate scrollerImp:animateKnobAlphaTo:duration:]):
5865        (-[ScrollbarPainterDelegate scrollerImp:animateTrackAlphaTo:duration:]):
5866        (-[ScrollbarPainterDelegate scrollerImp:overlayScrollerStateChangedTo:]):
5867        
5868        New function to inform the delegates that the ScrollAnimator
5869        is being destroyed.
5870        (-[ScrollbarPainterDelegate scrollAnimatorDestroyed]):
5871        (WebCore::ScrollAnimatorMac::~ScrollAnimatorMac):
5872
58732011-02-08  Adam Barth  <abarth@webkit.org>
5874
5875        Reviewed by Eric Seidel.
5876
5877        Remove orphan code from old parser
5878        https://bugs.webkit.org/show_bug.cgi?id=53984
5879
5880        This code appears to be unused.
5881
5882        * html/HTMLParserErrorCodes.cpp:
5883        * html/HTMLParserErrorCodes.h:
5884        * html/HTMLParserQuirks.h:
5885        * loader/EmptyClients.h:
5886        * page/ChromeClient.h:
5887
58882011-02-08  Martin Robinson  <mrobinson@igalia.com>
5889
5890        Reviewed by Gustavo Noronha Silva.
5891
5892        [GTK] Move scrollbar rendering out of gtk2drawing.c
5893        https://bugs.webkit.org/show_bug.cgi?id=52836
5894
5895        Replace gtk2drawing.c scrollbar rendering with our own version. This
5896        is the last use of the Mozilla theme drawing code.
5897
5898        No new tests. This should not change the rendering of the default
5899        theme.
5900
5901        * platform/gtk/GtkVersioning.h: Add some more backported allocation setters.
5902        * platform/gtk/RenderThemeGtk.h: Add a getter for the scrollbar widgets.
5903        * platform/gtk/RenderThemeGtk2.cpp:  Initialize and add getters for scrollbar widgets.
5904        (WebCore::RenderThemeGtk::platformInit): Ditto.
5905        (WebCore::RenderThemeGtk::gtkHScrollbar): Ditto.
5906        (WebCore::RenderThemeGtk::gtkVScrollbar): Ditto.
5907        * platform/gtk/ScrollbarThemeGtk.cpp: 
5908        (WebCore::ScrollbarThemeGtk::paint): We only repaint the scrolled
5909        window background if we are repainting a button or the thumb. In that
5910        case also repaint the track rect.
5911        * platform/gtk/ScrollbarThemeGtk2.cpp: Port to WidgetRenderingContext.
5912        (WebCore::ScrollbarThemeGtk::ScrollbarThemeGtk): Ditto.
5913        (WebCore::ScrollbarThemeGtk::updateThemeProperties): Ditto.
5914        (WebCore::getWidgetForScrollbar): Ditto.
5915        (WebCore::ScrollbarThemeGtk::paintTrackBackground): Ditto.
5916        (WebCore::ScrollbarThemeGtk::paintScrollbarBackground): Ditto.
5917        (WebCore::ScrollbarThemeGtk::paintThumb): Ditto.
5918        (WebCore::ScrollbarThemeGtk::paintButton): Ditto.
5919        * platform/gtk/WidgetRenderingContext.cpp: Ditto.
5920        (WebCore::WidgetRenderingContext::gtkPaintBox): Added an option which
5921        also adjusts a widget allocation according to the paint rect. This is
5922        necessary to properly draw scrollbar buttons.
5923        * platform/gtk/WidgetRenderingContext.h: Ditto.
5924
59252011-02-08  Simon Fraser  <simon.fraser@apple.com>
5926
5927        Reviewed by Dan Bernstein.
5928
5929        Inset shadow with large offset renders incorrectly
5930        https://bugs.webkit.org/show_bug.cgi?id=53882
5931        
5932        Fix an issue with inset shadows, when the shadow offset
5933        was larger than the box size. In this case we'd fail to
5934        fill the box with the shadow color.
5935
5936        Test: fast/box-shadow/inset-shadow-large-offset.html
5937
5938        * rendering/RenderBoxModelObject.cpp:
5939        (WebCore::areaCastingShadowInHole): Return a rect that covers the area
5940        which contributes to the inset shadow.
5941        
5942        (WebCore::RenderBoxModelObject::paintBoxShadow): Use areaCastingShadowInHole()
5943        to compute the outerRect.
5944
59452011-02-08  Zhenyao Mo  <zmo@google.com>
5946
5947        Reviewed by Kenneth Russell.
5948
5949        drawElements should check if a buffer is bound to ELEMENT_ARRAY_BUFFER
5950        https://bugs.webkit.org/show_bug.cgi?id=54017
5951
5952        * html/canvas/WebGLRenderingContext.cpp:
5953        (WebCore::WebGLRenderingContext::drawElements):
5954
59552011-01-28  Dimitri Glazkov  <dglazkov@chromium.org>
5956
5957        Reviewed by Darin Adler.
5958
5959        Change the rest of HTMLMediaElement shadow DOM parts to use shadowPseudoId.
5960        https://bugs.webkit.org/show_bug.cgi?id=53190
5961
5962        This is the second part of refactoring the HTMLMediaElement to use new
5963        shadow DOM. The changes are mainly mechanical, except for needing to
5964        add a new method to RenderTheme, which indicates whether or not status
5965        display is being used by it. Previously, we relied on existence of a cached
5966        pseudo style.
5967
5968        Refactoring, covered by existing tests.
5969
5970        * css/CSSSelector.cpp:
5971        (WebCore::CSSSelector::pseudoId): Removed now-unused enum values.
5972        (WebCore::nameToPseudoTypeMap): Ditto.
5973        (WebCore::CSSSelector::extractPseudoType): Ditto.
5974        * css/CSSSelector.h: Ditto.
5975        * html/shadow/MediaControls.cpp:
5976        (WebCore::MediaControls::createPanel): Changed to use the newly-added MediaControlPanelElement.
5977        (WebCore::MediaControls::createCurrentTimeDisplay): Changed to use the newly-added
5978            MediaControlCurrentTimeDisplayElement.
5979        (WebCore::MediaControls::createTimeRemainingDisplay): Changed to use the newly-added
5980                MediaControlTimeRemainingDisplayElement.
5981        * rendering/MediaControlElements.cpp:
5982        (WebCore::MediaControlShadowRootElement::updateStyle): Changed to use the
5983            standard style resolution.
5984        (WebCore::MediaControlShadowRootElement::shadowPseudoId): Added.
5985        (WebCore::MediaControlElement::MediaControlElement): Removed the switch statement
5986            that is no longer necessary.
5987        (WebCore::MediaControlElement::styleForElement): Changed to use the standard
5988            style resolution.
5989        (WebCore::MediaControlPanelElement::MediaControlPanelElement): Added.
5990        (WebCore::MediaControlPanelElement::create): Added.
5991        (WebCore::MediaControlPanelElement::displayType): Added.
5992        (WebCore::MediaControlPanelElement::shadowPseudoId): Added.
5993        (WebCore::MediaControlTimelineContainerElement::MediaControlTimelineContainerElement):
5994            Removed PseudoId constructor arg.
5995        (WebCore::MediaControlTimelineContainerElement::rendererIsNeeded):
5996            Changed to use the newly-plumbed usesMediaControlStatusDisplay helper.
5997        (WebCore::MediaControlTimelineContainerElement::displayType): Added.
5998        (WebCore::MediaControlTimelineContainerElement::shadowPseudoId): Added.
5999        (WebCore::MediaControlVolumeSliderContainerElement::MediaControlVolumeSliderContainerElement):
6000            Removed PseudoId constructor arg.
6001        (WebCore::MediaControlVolumeSliderContainerElement::displayType): Added.
6002        (WebCore::MediaControlVolumeSliderContainerElement::shadowPseudoId): Added.
6003        (WebCore::MediaControlStatusDisplayElement::MediaControlStatusDisplayElement):
6004            Removed PseudoId constructor arg.
6005        (WebCore::MediaControlStatusDisplayElement::rendererIsNeeded): Changed to
6006            use the newly-plumbed usesMediaControlStatusDisplay helper.
6007        (WebCore::MediaControlStatusDisplayElement::displayType): Added.
6008        (WebCore::MediaControlStatusDisplayElement::shadowPseudoId): Added.
6009        (WebCore::MediaControlTimeDisplayElement::MediaControlTimeDisplayElement):
6010            Removed PseudoId constructor arg.
6011        (WebCore::MediaControlTimeRemainingDisplayElement::create): Added.
6012        (WebCore::MediaControlTimeRemainingDisplayElement::MediaControlTimeRemainingDisplayElement): Added.
6013        (WebCore::MediaControlTimeRemainingDisplayElement::displayType): Added.
6014        (WebCore::MediaControlTimeRemainingDisplayElement::shadowPseudoId): Added.
6015        (WebCore::MediaControlCurrentTimeDisplayElement::create): Added.
6016        (WebCore::MediaControlCurrentTimeDisplayElement::MediaControlCurrentTimeDisplayElement): Added.
6017        (WebCore::MediaControlCurrentTimeDisplayElement::displayType): Added.
6018        (WebCore::MediaControlCurrentTimeDisplayElement::shadowPseudoId): Added.
6019        * rendering/MediaControlElements.h: Added/changed defs accordingly.
6020        * rendering/RenderTheme.h:
6021        (WebCore::RenderTheme::usesMediaControlStatusDisplay): Added.
6022        * rendering/RenderThemeMac.h: Added def.
6023        * rendering/RenderThemeMac.mm:
6024        (WebCore::RenderThemeMac::usesMediaControlStatusDisplay): Added.
6025        * rendering/style/RenderStyleConstants.h: Removed now-unused enum values.
6026
60272011-02-08  Xiaomei Ji  <xji@chromium.org>
6028
6029        Reviewed by Dan Bernstein.
6030
6031        Fix pop-up button text not rendered correctly according to its direction
6032        in <option>.
6033        https://bugs.webkit.org/show_bug.cgi?id=53642
6034 
6035        In adjustInnerStyle(), if m_innerBlock's direction or unicode-bidi 
6036        changes, set it needs layout.
6037
6038        Test: fast/text/international/pop-up-button-text-alignment-and-direction.html
6039
6040        * rendering/RenderMenuList.cpp:
6041        (WebCore::RenderMenuList::adjustInnerStyle):
6042
60432011-02-08  Ilya Tikhonovsky  <loislo@chromium.org>
6044
6045        Unreviewed build fix for Qt-minimal.
6046
6047        * inspector/InspectorInstrumentation.h:
6048        (WebCore::InspectorInstrumentation::hasFrontend):
6049
60502011-02-02  Ilya Tikhonovsky  <loislo@chromium.org>
6051
6052        Reviewed by Yury Semikhatsky.
6053
6054        Web Inspector: move InspectorController's methods from InspectorAgent to InspectorController.
6055
6056        https://bugs.webkit.org/show_bug.cgi?id=53169
6057
6058        All the Inspector API for WebCore has two parts.
6059        The first one is InspectorInstrumentation for WebCore.
6060        The second is InspectorController for WebKit.
6061        InspectorAgent was produced by renaming original InspectorController.
6062        This patch extracts WebKit related methods from InspectorAgent to InspectorController.
6063
6064        * WebCore.exp.in:
6065        * bindings/v8/custom/V8InspectorFrontendHostCustom.cpp:
6066        * html/HTMLDocument.cpp:
6067        (WebCore::HTMLDocument::createParser):
6068        * inspector/InspectorAgent.cpp:
6069        (WebCore::InspectorAgent::InspectorAgent):
6070        (WebCore::InspectorAgent::~InspectorAgent):
6071        (WebCore::InspectorAgent::restoreInspectorStateFromCookie):
6072        (WebCore::InspectorAgent::inspect):
6073        (WebCore::InspectorAgent::handleMousePress):
6074        (WebCore::InspectorAgent::didClearWindowObjectInWorld):
6075        (WebCore::InspectorAgent::setFrontend):
6076        (WebCore::InspectorAgent::disconnectFrontend):
6077        (WebCore::InspectorAgent::resourceAgent):
6078        (WebCore::InspectorAgent::createFrontendLifetimeAgents):
6079        (WebCore::InspectorAgent::releaseFrontendLifetimeAgents):
6080        (WebCore::InspectorAgent::populateScriptObjects):
6081        (WebCore::InspectorAgent::pushDataCollectedOffline):
6082        (WebCore::InspectorAgent::restoreProfiler):
6083        (WebCore::InspectorAgent::startTimelineProfiler):
6084        (WebCore::PostWorkerNotificationToFrontendTask::performTask):
6085        (WebCore::InspectorAgent::didOpenDatabase):
6086        (WebCore::InspectorAgent::didUseDOMStorage):
6087        (WebCore::InspectorAgent::showAndEnableDebugger):
6088        (WebCore::InspectorAgent::enableDebugger):
6089        (WebCore::InspectorAgent::enabled):
6090        * inspector/InspectorAgent.h:
6091        (WebCore::InspectorAgent::frontend):
6092        * inspector/InspectorController.cpp:
6093        (WebCore::InspectorController::InspectorController):
6094        (WebCore::InspectorController::~InspectorController):
6095        (WebCore::InspectorController::setInspectorFrontendClient):
6096        (WebCore::InspectorController::hasInspectorFrontendClient):
6097        (WebCore::InspectorController::didClearWindowObjectInWorld):
6098        (WebCore::InspectorController::startTimelineProfiler):
6099        (WebCore::InspectorController::stopTimelineProfiler):
6100        (WebCore::InspectorController::connectFrontend):
6101        (WebCore::InspectorController::disconnectFrontend):
6102        (WebCore::InspectorController::disconnectFrontendImpl):
6103        (WebCore::InspectorController::show):
6104        (WebCore::InspectorController::close):
6105        (WebCore::InspectorController::restoreInspectorStateFromCookie):
6106        (WebCore::InspectorController::evaluateForTestInFrontend):
6107        (WebCore::InspectorController::drawNodeHighlight):
6108        (WebCore::InspectorController::inspect):
6109        (WebCore::InspectorController::enabled):
6110        (WebCore::InspectorController::showPanel):
6111        (WebCore::InspectorController::frontendLoaded):
6112        (WebCore::InspectorController::timelineProfilerEnabled):
6113        (WebCore::InspectorController::enableProfiler):
6114        (WebCore::InspectorController::disableProfiler):
6115        (WebCore::InspectorController::profilerEnabled):
6116        (WebCore::InspectorController::debuggerEnabled):
6117        (WebCore::InspectorController::showAndEnableDebugger):
6118        (WebCore::InspectorController::disableDebugger):
6119        (WebCore::InspectorController::startUserInitiatedProfiling):
6120        (WebCore::InspectorController::stopUserInitiatedProfiling):
6121        (WebCore::InspectorController::isRecordingUserInitiatedProfile):
6122        (WebCore::InspectorController::setInspectorExtensionAPI):
6123        (WebCore::InspectorController::resume):
6124        (WebCore::InspectorController::hideHighlight):
6125        (WebCore::InspectorController::dispatchMessageFromFrontend):
6126        * inspector/InspectorController.h:
6127        (WebCore::InspectorController::inspectorClient):
6128        (WebCore::InspectorController::inspectedPage):
6129        (WebCore::InspectorController::hasFrontend):
6130        * inspector/InspectorFrontendClientLocal.cpp:
6131        (WebCore::InspectorFrontendClientLocal::sendMessageToBackend):
6132        * inspector/InspectorFrontendHost.cpp:
6133        (WebCore::InspectorFrontendHost::setExtensionAPI):
6134        * inspector/InspectorInstrumentation.cpp:
6135        (WebCore::InspectorInstrumentation::didClearWindowObjectInWorldImpl):
6136        (WebCore::InspectorInstrumentation::profilerEnabledImpl):
6137        * inspector/InspectorInstrumentation.h:
6138        (WebCore::InspectorInstrumentation::hasFrontend):
6139        * loader/FrameLoader.cpp:
6140        (WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
6141
61422011-02-08  George Wright  <gwright@rim.com>
6143
6144        Reviewed by Adam Barth.
6145
6146        https://bugs.webkit.org/show_bug.cgi?id=53949
6147
6148        Ensure that we pack the colour byte order correctly for Skia using
6149        Skia's SkPackARGB32 function.
6150
6151        * platform/image-decoders/ImageDecoder.h:
6152        (WebCore::ImageFrame::setRGBA):
6153
61542011-02-08  George Wright  <gwright@rim.com>
6155
6156        Reviewed by Darin Adler.
6157
6158        https://bugs.webkit.org/show_bug.cgi?id=53951
6159
6160        Ensure we do not pass (-1, -1) sized rects to ImageBuffer but instead
6161        pass the full image dimensions.
6162
6163        * platform/graphics/GraphicsContext.cpp:
6164        (WebCore::GraphicsContext::drawImageBuffer):
6165
61662011-02-08  Patrick Gansterer  <paroga@webkit.org>
6167
6168        Reviewed by Adam Roben.
6169
6170        [WIN] Add missing includes and forward declarations for DownloadBundle
6171        https://bugs.webkit.org/show_bug.cgi?id=53881
6172
6173        * platform/network/cf/DownloadBundle.h:
6174        * platform/network/win/DownloadBundleWin.cpp:
6175        (WebCore::DownloadBundle::appendResumeData):
6176
61772011-02-08  Patrick Gansterer  <paroga@webkit.org>
6178
6179        Reviewed by Adam Roben.
6180
6181        [WIN] Add missing include in WKCAImageQueue
6182        https://bugs.webkit.org/show_bug.cgi?id=53890
6183
6184        * platform/graphics/win/WKCAImageQueue.cpp:
6185
61862011-02-08  Patrick Gansterer  <paroga@webkit.org>
6187
6188        Reviewed by Adam Roben.
6189
6190        [WIN] Add missing includes and forward declarations for CFNetwork
6191        https://bugs.webkit.org/show_bug.cgi?id=53883
6192
6193        * platform/network/cf/DNSCFNet.cpp:
6194        * platform/network/cf/LoaderRunLoopCF.cpp:
6195        * platform/network/cf/LoaderRunLoopCF.h:
6196        * platform/network/cf/ProxyServerCFNet.cpp:
6197        * platform/network/cf/SocketStreamHandle.h:
6198        * platform/network/cf/SocketStreamHandleCFNet.cpp:
6199
62002011-02-08  Patrick Gansterer  <paroga@webkit.org>
6201
6202        Unreviewed WinCE build fix for r77870.
6203
6204        * platform/DragImage.cpp: Enable createDragImageForLink for WinCE.
6205
62062011-02-08  Pavel Feldman  <pfeldman@chromium.org>
6207
6208        Reviewed by Yury Semikhatsky.
6209
6210        Web Inspector: open network resource url in new tab upon double click.
6211        https://bugs.webkit.org/show_bug.cgi?id=53930
6212
6213        * inspector/front-end/NetworkPanel.js:
6214        (WebInspector.NetworkDataGridNode.prototype.createCells):
6215        (WebInspector.NetworkDataGridNode.prototype._openInNewTab):
6216
62172011-02-08  Yonathan Randolph  <yonathan@gmail.com>
6218
6219        Reviewed by Pavel Feldman.
6220
6221        Web Inspector: $x: any node should work in optional context parameter.
6222        https://bugs.webkit.org/show_bug.cgi?id=50138
6223
6224        * inspector/InjectedScriptSource.js:
6225
62262011-02-08  Patrick Gansterer  <paroga@webkit.org>
6227
6228        Unreviewed WinCE build fix for r77870.
6229
6230        Remove the global namespace prefix from GlobalLock/GlobalUnlock.
6231
6232        * platform/win/ClipboardUtilitiesWin.cpp:
6233
62342011-02-08  Pavel Feldman  <pfeldman@chromium.org>
6235
6236        Not reviewed: re-apply r77924.
6237
6238        Test: inspector/console-api-on-call-frame.html
6239
6240        * inspector/InjectedScriptSource.js:
6241        * inspector/front-end/ExtensionServer.js:
6242        (WebInspector.ExtensionServer.prototype._onEvaluateOnInspectedPage):
6243
62442011-02-08  Andreas Kling  <kling@webkit.org>
6245
6246        Reviewed by Tor Arne Vestbø.
6247
6248        REGRESSION(r77312): Unbreak TiledBackingStore.
6249
6250        Due to an off-by-one error, we were no longer rendering the
6251        rightmost column and bottom row of tiles.
6252
6253        Covered by tst_QGraphicsWebView::widgetsRenderingThroughCache().
6254
6255        * platform/graphics/TiledBackingStore.cpp:
6256        (WebCore::TiledBackingStore::invalidate):
6257        (WebCore::TiledBackingStore::updateTileBuffers):
6258        (WebCore::TiledBackingStore::paint):
6259        (WebCore::TiledBackingStore::createTiles):
6260
62612011-02-08  Sheriff Bot  <webkit.review.bot@gmail.com>
6262
6263        Unreviewed, rolling out r77924.
6264        http://trac.webkit.org/changeset/77924
6265        https://bugs.webkit.org/show_bug.cgi?id=53997
6266
6267        Breaks inspector tests. (Requested by pfeldman on #webkit).
6268
6269        * inspector/InjectedScriptSource.js:
6270        (.):
6271        ():
6272
62732011-02-08  Andrey Kosyakov  <caseq@chromium.org>
6274
6275        Reviewed by Pavel Feldman.
6276
6277        Web Inspector: [refacotring] merge InspectorAgent::willSendRequest() into InspectorResourceAgent
6278        https://bugs.webkit.org/show_bug.cgi?id=53789
6279         - perform UserAgent override via InspectorInstrumentation
6280         - move adding extra request headers to InspectorResourceAgent
6281         - simplified things in InspectorState
6282
6283        * inspector/Inspector.idl:
6284        * inspector/InspectorAgent.cpp:
6285        (WebCore::InspectorAgent::disconnectFrontend):
6286        (WebCore::InspectorAgent::applyUserAgentOverride):
6287        * inspector/InspectorAgent.h:
6288        * inspector/InspectorInstrumentation.cpp:
6289        (WebCore::InspectorInstrumentation::applyUserAgentOverrideImpl):
6290        (WebCore::InspectorInstrumentation::willSendRequestImpl):
6291        * inspector/InspectorInstrumentation.h:
6292        (WebCore::InspectorInstrumentation::applyUserAgentOverride):
6293        * inspector/InspectorResourceAgent.cpp:
6294        (WebCore::InspectorResourceAgent::setExtraHeaders):
6295        (WebCore::InspectorResourceAgent::willSendRequest):
6296        * inspector/InspectorResourceAgent.h:
6297        * inspector/InspectorState.cpp:
6298        (WebCore::InspectorState::InspectorState):
6299        (WebCore::InspectorState::restoreFromInspectorCookie):
6300        (WebCore::InspectorState::updateCookie):
6301        (WebCore::InspectorState::setValue):
6302        (WebCore::InspectorState::getBoolean):
6303        (WebCore::InspectorState::getString):
6304        (WebCore::InspectorState::getLong):
6305        (WebCore::InspectorState::getObject):
6306        * inspector/InspectorState.h:
6307        (WebCore::InspectorState::setObject):
6308        * loader/FrameLoader.cpp:
6309        (WebCore::FrameLoader::userAgent):
6310
63112011-02-08  Pavel Feldman  <pfeldman@chromium.org>
6312
6313        Reviewed by Yury Semikhatsky.
6314
6315        Web Inspector: do not hide scope variables with command line api.
6316        https://bugs.webkit.org/show_bug.cgi?id=53497
6317
6318        Test: inspector/console-api-on-call-frame.html
6319
6320        * inspector/InjectedScriptSource.js:
6321
63222011-02-08  Pavel Feldman  <pfeldman@chromium.org>
6323
6324        Reviewed by Yury Semikhatsky.
6325
6326        Web Inspector: ignore cache upon reload via Ctrl(Cmd)+Shift+R.
6327        https://bugs.webkit.org/show_bug.cgi?id=53914
6328
6329        * inspector/Inspector.idl:
6330        * inspector/InspectorAgent.cpp:
6331        (WebCore::InspectorAgent::reloadPage):
6332        * inspector/InspectorAgent.h:
6333        * inspector/front-end/AuditsPanel.js:
6334        (WebInspector.AuditsPanel.prototype._reloadResources):
6335        * inspector/front-end/ExtensionServer.js:
6336        (WebInspector.ExtensionServer.prototype._onReload):
6337        * inspector/front-end/inspector.js:
6338        (WebInspector.documentKeyDown):
6339
63402011-02-08  Antti Koivisto  <antti@apple.com>
6341
6342        Reviewed by Cameron Zwarich.
6343
6344        Skip over sibling selectors when collecting descendant selector hashes 
6345        https://bugs.webkit.org/show_bug.cgi?id=53987
6346        
6347        Skip instead of bailing out. This will allow optimizing some sibling selector cases.
6348
6349        * css/CSSStyleSelector.cpp:
6350        (WebCore::RuleData::RuleData):
6351        (WebCore::RuleData::collectIdentifierHashes):
6352        (WebCore::RuleData::collectDescendantSelectorIdentifierHashes):
6353        * css/CSSStyleSelector.h:
6354
63552011-02-07  Cris Neckar  <cdn@chromium.org>
6356
6357        Reviewed by Jian Li.
6358
6359        Fix null deref in DOMURL
6360        https://bugs.webkit.org/show_bug.cgi?id=53811
6361
6362        Test: fast/files/domurl-script-execution-context-crash.html
6363
6364        * html/DOMURL.cpp:
6365        (WebCore::DOMURL::DOMURL):
6366
63672011-02-07  Mark Rowe  <mrowe@apple.com>
6368
6369        Fix the 32-bit build.
6370
6371        * platform/mac/ScrollAnimatorMac.mm:
6372        (WebCore::ScrollAnimatorMac::didAddVerticalScrollbar): Remove some extraneous characters.
6373        (WebCore::ScrollAnimatorMac::didAddHorizontalScrollbar): Ditto.
6374
63752011-02-07  Xiyuan Xia  <xiyuan@chromium.org>
6376
6377        Reviewed by Tony Chang.
6378
6379        [Chromium] Select popup box does not align with select button when appearance is not "menulist".
6380        https://bugs.webkit.org/show_bug.cgi?id=53942
6381
6382        Added manual test select_webkit_appearance_off_popup_alignment.html.
6383
6384        * manual-tests/select_webkit_appearance_off_popup_alignment.html: Added.
6385        * platform/chromium/PopupMenuChromium.cpp:
6386        (WebCore::PopupListBox::layout):
6387
63882011-02-07  Aparna Nandyal  <aparna.nand@wipro.com>
6389
6390        Reviewed by Andreas Kling.
6391
6392        [Qt] - Context menu needs "Copy" as well when the selected text is a link.
6393        https://bugs.webkit.org/show_bug.cgi?id=40983
6394
6395        Added copy option for Qt platform if selection is a link. 
6396        Added a test in tst_qwebpage.cpp. 
6397
6398        * page/ContextMenuController.cpp:
6399        (WebCore::ContextMenuController::populate):
6400
64012011-02-07  Mike Reed  <reed@google.com>
6402
6403        Reviewed by Kenneth Russell.
6404
6405        Add compile-time flag ENABLE(SKIA_GPU) to use Skia's gpu backend
6406        when drawing <canvas>. Disabled by default.
6407
6408        No new tests. existing canvas layouttests apply
6409
6410        * platform/graphics/chromium/DrawingBufferChromium.cpp:
6411        (WebCore::DrawingBuffer::publishToPlatformLayer):
6412        * platform/graphics/skia/PlatformContextSkia.cpp:
6413        (WebCore::GetGlobalGrContext):
6414        (WebCore::PlatformContextSkia::isPrinting):
6415        (WebCore::PlatformContextSkia::setSharedGraphicsContext3D):
6416        (WebCore::PlatformContextSkia::syncSoftwareCanvas):
6417
64182011-02-07  Jay Civelli  <jcivelli@chromium.org>
6419
6420        Reviewed by Darin Fisher.
6421
6422        Removing unused code from PopupMenuChromium.
6423        https://bugs.webkit.org/show_bug.cgi?id=53866
6424
6425       * platform/chromium/PopupMenuChromium.cpp:
6426        (WebCore::PopupListBox::layout):
6427        (WebCore::PopupMenuChromium::show):
6428        * platform/chromium/PopupMenuChromium.h:
6429
64302011-02-07  Kenichi Ishibashi  <bashi@chromium.org>
6431
6432        Reviewed by Andreas Kling.
6433
6434        HTMLOutputElement::childrenChanged() should call its base class childrenChanged()
6435        https://bugs.webkit.org/show_bug.cgi?id=53791
6436
6437        Calls HTMLFormControlElement::childrenChanged() in HTMLOutputElement::childrenChanged().
6438
6439        Test: fast/dom/HTMLOutputElement/htmloutputelement-children-removed.html
6440
6441        * html/HTMLOutputElement.cpp:
6442        (WebCore::HTMLOutputElement::childrenChanged): Calls super class's
6443        childrenChanged().
6444
64452011-02-07  Benjamin Poulain  <ikipou@gmail.com>
6446
6447        Reviewed by Kenneth Rohde Christiansen.
6448
6449        [Qt] cookiesEnabled could create the cookieJar on the wrong thread.
6450        https://bugs.webkit.org/show_bug.cgi?id=52289
6451
6452        Use the QtNAMThreadSafeProxy to make sure the cookie jar is created
6453        in the same thread as the QNetworkAccessManager.
6454
6455        * platform/network/qt/QtNAMThreadSafeProxy.cpp:
6456        (WebCore::QtNAMThreadSafeProxy::QtNAMThreadSafeProxy):
6457        (WebCore::QtNAMThreadSafeProxy::hasCookieJar):
6458        * platform/network/qt/QtNAMThreadSafeProxy.h:
6459        * platform/qt/CookieJarQt.cpp:
6460        (WebCore::cookiesEnabled):
6461
64622011-02-07  Alexey Marinichev  <amarinichev@chromium.org>
6463
6464        Reviewed by Kenneth Russell.
6465
6466        Hook up WebGraphicsContext3D::setContextLostCallback.
6467        https://bugs.webkit.org/show_bug.cgi?id=53722
6468
6469        Test: fast/canvas/webgl/context-lost.html, comment out the line with
6470        extension.loseContext() and kill the GPU process "Lose context"
6471        message shows up.
6472
6473        * html/canvas/WebGLRenderingContext.cpp:
6474        (WebCore::WebGLRenderingContextLostCallback::WebGLRenderingContextLostCallback):
6475        (WebCore::WebGLRenderingContextLostCallback::onContextLost):
6476        (WebCore::WebGLRenderingContextLostCallback::~WebGLRenderingContextLostCallback):
6477        (WebCore::WebGLRenderingContext::initializeNewContext):
6478        (WebCore::WebGLRenderingContext::~WebGLRenderingContext):
6479        * platform/graphics/GraphicsContext3D.h:
6480        (WebCore::GraphicsContext3D::ContextLostCallback::~ContextLostCallback):
6481        * platform/graphics/mac/GraphicsContext3DMac.mm:
6482        (WebCore::GraphicsContext3D::setContextLostCallback): stub
6483        * platform/graphics/qt/GraphicsContext3DQt.cpp:
6484        (WebCore::GraphicsContext3D::setContextLostCallback): stub
6485
64862011-02-07  Patrick Gansterer  <paroga@webkit.org>
6487
6488        Reviewed by Eric Seidel.
6489
6490        Add missing PaintInfo include in RenderThemeWin.cpp
6491        https://bugs.webkit.org/show_bug.cgi?id=53885
6492
6493        * rendering/RenderThemeWin.cpp:
6494
64952011-02-07  Qi Zhang  <qi.2.zhang@nokia.com>
6496
6497        Reviewed by Andreas Kling.
6498
6499        [Qt] enum QWebPage::WebAction doesn't have value QWebPage::CopyImageUrl
6500        https://bugs.webkit.org/show_bug.cgi?id=52974
6501
6502        Add ContextMenuItemTagCopyImageUrlToClipboard into standard action but Qt platform specific.
6503
6504        * page/ContextMenuController.cpp:
6505        (WebCore::ContextMenuController::contextMenuItemSelected):
6506        (WebCore::ContextMenuController::populate):
6507        (WebCore::ContextMenuController::checkOrEnableIfNeeded):
6508        * platform/ContextMenuItem.h:
6509        * platform/LocalizationStrategy.h:
6510        * platform/LocalizedStrings.cpp:
6511        (WebCore::contextMenuItemTagCopyImageUrlToClipboard):
6512        * platform/LocalizedStrings.h:
6513
65142011-02-07  Kenichi Ishibashi  <bashi@chromium.org>
6515
6516        Reviewed by Kent Tamura.
6517
6518        HTMLFormElement::formElementIndex() returns a bad index into a vector of form associated elements
6519        https://bugs.webkit.org/show_bug.cgi?id=53970
6520
6521        Adds HTMLObjectElement::virtualForm() to make HTMLObjectElement::form()
6522        return the right value.
6523
6524        Test: fast/dom/HTMLObjectElement/form/nested-form-element.html
6525
6526        * html/HTMLObjectElement.cpp:
6527        (WebCore::HTMLObjectElement::virtualForm): Added.
6528        * html/HTMLObjectElement.h: Added virtualForm().
6529
65302011-02-07  Ryosuke Niwa  <rniwa@webkit.org>
6531
6532        Unreviewed Leopard build fix.
6533
6534        * WebCore.xcodeproj/project.pbxproj: let XCode have developmentRegion.
6535        * platform/mac/DragImageMac.mm:
6536        (WebCore::webkit_CGCeiling): Cast the return value of ceil to CGFloat.
6537
65382011-02-07  Enrica Casucci  <enrica@apple.com>
6539
6540        Reviewed by Sam Weinig.
6541
6542        Fixing a build break on Mac caused by http://trac.webkit.org/changeset/77874
6543
6544        When moving code from WebKit to WebCore we needed to move some additional
6545        functions previously in NSStringExtras.
6546        
6547        * WebCore.xcodeproj/project.pbxproj:
6548        * platform/mac/DragImageMac.mm:
6549        (WebCore::fontFromNSFont):
6550        (WebCore::canUseFastRenderer):
6551        (WebCore::widthWithFont):
6552        (WebCore::webkit_CGCeiling):
6553        (WebCore::drawAtPoint):
6554        (WebCore::drawDoubledAtPoint):
6555        (WebCore::createDragImageForLink):
6556
65572011-02-07  Lucas Forschler  <lforschler@apple.com>
6558
6559        Reviewed by Geoff Garen.
6560
6561        Tr #2, Fix the Leopard 32bit debug build.
6562        
6563        No new tests required.
6564
6565        * WebCore.xcodeproj/project.pbxproj:
6566        * accessibility/AccessibilityAllInOne.cpp:
6567
65682011-02-07  Beth Dakin  <bdakin@apple.com>
6569
6570        Reviewed by Sam Weinig.
6571
6572        Fix for <rdar://problem/8946961> Fix repaint problems
6573        with WKScrollbarPainter scrollers while resizing the window
6574
6575        Remove setPainterForPainterController() and 
6576        removePainterFromPainterController() since they aren't
6577        used anymore.
6578        * platform/mac/ScrollAnimatorMac.h:
6579        
6580        Return early if they alpha hasn't changed.
6581        * platform/mac/ScrollAnimatorMac.mm:
6582        (-[ScrollbarPainterDelegate scrollerImp:animateKnobAlphaTo:duration:]):
6583        (-[ScrollbarPainterDelegate scrollerImp:animateTrackAlphaTo:duration:]):
6584        
6585        If we're in a live resize, restore alpha to 1.
6586        (WebCore::ScrollAnimatorMac::didAddVerticalScrollbar):
6587        (WebCore::ScrollAnimatorMac::didAddHorizontalScrollbar):
6588
65892011-02-07  Beth Dakin  <bdakin@apple.com>
6590
6591        Reviewed by Eric Seidel.
6592
6593        Fix for https://bugs.webkit.org/show_bug.cgi?id=53950
6594        USE_WK_SCROLLBAR_PAINTER in ScrollbarThemeMac should be in
6595        Platform.h instead
6596
6597        Use hot new USE(WK_SCROLLBAR_PAINTER) from Platform.h rather
6598        than the silly, old in-file #define.
6599
6600        * platform/mac/ScrollbarThemeMac.mm:
6601        (+[ScrollbarPrefsObserver appearancePrefsChanged:]):
6602        (WebCore::updateArrowPlacement):
6603        (WebCore::ScrollbarThemeMac::registerScrollbar):
6604        (WebCore::ScrollbarThemeMac::scrollbarThickness):
6605        (WebCore::ScrollbarThemeMac::usesOverlayScrollbars):
6606        (WebCore::ScrollbarThemeMac::hasThumb):
6607        (WebCore::ScrollbarThemeMac::minimumThumbLength):
6608        (WebCore::ScrollbarThemeMac::paint):
6609
66102011-02-07  Enrica Casucci  <enrica@apple.com>
6611
6612        Reviewed Adam Roben and Darin Adler.
6613
6614        WebKit2: drag and drop support on Windows.
6615        https://bugs.webkit.org/show_bug.cgi?id=52775
6616        <rdar://problem/8514409>
6617
6618        * loader/EmptyClients.h: Removed createDragImageFromLink.
6619        * page/DragClient.h: Ditto.
6620        * page/DragController.cpp:
6621        (WebCore::DragController::startDrag): changed call to createDragImageFromLink.
6622        * platform/DragImage.h:
6623        * platform/mac/DragImageMac.mm:
6624        (WebCore::createDragImageForLink): Moved from DragClient.
6625        * platform/win/ClipboardUtilitiesWin.cpp: Added a series of functions
6626        to de-serialize the drag data from the map into an IDataObject.
6627        (WebCore::getWebLocData):
6628        (WebCore::texthtmlFormat):
6629        (WebCore::createGlobalData):
6630        (WebCore::getFullCFHTML):
6631        (WebCore::urlWFormat):
6632        (WebCore::urlFormat):
6633        (WebCore::filenameWFormat):
6634        (WebCore::filenameFormat):
6635        (WebCore::htmlFormat):
6636        (WebCore::smartPasteFormat):
6637        (WebCore::getURL):
6638        (WebCore::getPlainText):
6639        (WebCore::getTextHTML):
6640        (WebCore::ClipboardDataItem::ClipboardDataItem):
6641        (WebCore::getStringData):
6642        (WebCore::getUtf8Data):
6643        (WebCore::getCFData):
6644        (WebCore::setUCharData):
6645        (WebCore::setCharData):
6646        (WebCore::setCFData):
6647        (WebCore::getClipboardMap):
6648        (WebCore::getClipboardData):
6649        (WebCore::setClipboardData):
6650        * platform/win/ClipboardUtilitiesWin.h:
6651        * platform/win/DragImageWin.cpp: Moved createDragImageForLink from DragClient
6652        to a platform specific file in WebCore. It makes a lot more sense here, since
6653        the drag image is always created in WebCore for all the other content types
6654        except for links.
6655        (WebCore::dragLabelFont):
6656        (WebCore::createDragImageForLink):
6657        * platform/win/WCDataObject.cpp: Added new way to
6658        construct a WCDataObject from a DragDataMap.
6659        (WebCore::WCDataObject::createInstance):
6660        (WebCore::WCDataObject::clearData):
6661        * platform/win/WCDataObject.h:
6662
66632011-02-07  Sheriff Bot  <webkit.review.bot@gmail.com>
6664
6665        Unreviewed, rolling out r77848.
6666        http://trac.webkit.org/changeset/77848
6667        https://bugs.webkit.org/show_bug.cgi?id=53963
6668
6669        caused 6 test failures (Requested by othermaciej on #webkit).
6670
6671        * rendering/RenderBlockLineLayout.cpp:
6672        (WebCore::RenderBlock::computeInlineDirectionPositionsForLine):
6673
66742011-02-04  Kenneth Russell  <kbr@google.com>
6675
6676        Reviewed by James Robinson.
6677
6678        Add shaders for GPU accelerated path rendering
6679        https://bugs.webkit.org/show_bug.cgi?id=45520
6680
6681        Refactored SolidFillShader and TexShader to call new
6682        generateVertex() and generateFragment() methods on base Shader
6683        class, and added support for the Loop/Blinn shaders. Refactored
6684        Loop/Blinn shader classes to derive from Shader.
6685
6686        Tested these changes with several of the IE9 Testdrive demos with
6687        accelerated 2D canvas enabled, as well as a full layout test run
6688        with --platform chromium-gpu.
6689
6690        * platform/graphics/gpu/LoopBlinnShader.cpp: Added.
6691        (WebCore::LoopBlinnShader::LoopBlinnShader):
6692        (WebCore::LoopBlinnShader::use):
6693        * platform/graphics/gpu/LoopBlinnShader.h: Added.
6694        * platform/graphics/gpu/LoopBlinnSolidFillShader.cpp: Added.
6695        (WebCore::LoopBlinnSolidFillShader::create):
6696        (WebCore::LoopBlinnSolidFillShader::LoopBlinnSolidFillShader):
6697        (WebCore::LoopBlinnSolidFillShader::use):
6698        * platform/graphics/gpu/LoopBlinnSolidFillShader.h: Added.
6699        * platform/graphics/gpu/Shader.cpp:
6700        (WebCore::Shader::affineTo4x4):
6701        (WebCore::Shader::loadShader):
6702        (WebCore::Shader::loadProgram):
6703        (WebCore::Shader::generateVertex):
6704        (WebCore::Shader::generateFragment):
6705        * platform/graphics/gpu/Shader.h:
6706        * platform/graphics/gpu/SolidFillShader.cpp:
6707        (WebCore::SolidFillShader::create):
6708        * platform/graphics/gpu/TexShader.cpp:
6709        (WebCore::TexShader::TexShader):
6710        (WebCore::TexShader::create):
6711
67122011-02-07  Dan Bernstein  <mitz@apple.com>
6713
6714        Reviewed by Oliver Hunt.
6715
6716        <rdar://problem/8946023> REGRESSION (r76674): SVG + BiDi text broken (text-intro-05-t.svg)
6717        https://bugs.webkit.org/show_bug.cgi?id=53480
6718
6719        * WebCore.xcodeproj/project.pbxproj:
6720        * platform/graphics/mac/ComplexTextController.cpp:
6721        (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun): m_indexEnd should be an
6722        offset into m_characters, not into the run’s characters.
6723        * platform/graphics/mac/ComplexTextControllerATSUI.cpp:
6724        (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun): Ditto.
6725
67262011-02-07  Sam Weinig  <sam@webkit.org>
6727
6728        Reviewed by Anders Carlsson.
6729
6730        Add bundle API to get the background color of a frame
6731        <rdar://problem/8962670>
6732        https://bugs.webkit.org/show_bug.cgi?id=53952
6733
6734        * WebCore.exp.in: Add export.
6735
67362011-02-07  Geoffrey Garen  <ggaren@apple.com>
6737
6738        Reviewed by Darin Adler.
6739
6740        Assertion failure in ~JSGlobalObject when loading apple.com HTML5
6741        transitions demo page
6742        https://bugs.webkit.org/show_bug.cgi?id=53853
6743
6744        This was a long-standing bookkeeping bug uncovered by some heap refactoring.
6745
6746        * html/HTMLCanvasElement.cpp:
6747        (WebCore::HTMLCanvasElement::createImageBuffer):
6748        * html/HTMLImageLoader.cpp:
6749        (WebCore::HTMLImageLoader::notifyFinished):
6750        * xml/XMLHttpRequest.cpp:
6751        (WebCore::XMLHttpRequest::dropProtection): Take the JSLock before
6752        reporting extra cost to the JavaScriptCore heap, since all use of
6753        JavaScriptCore is supposed to be guarded by JSLock.
6754
67552011-02-07  Jian Li  <jianli@chromium.org>
6756
6757        Reviewed by David Levin.
6758
6759        Intermittent crash in fast/files/read-blob-async.html on the GTK+ debug
6760        bots
6761        https://bugs.webkit.org/show_bug.cgi?id=53104
6762
6763        Covered by the existing tests.
6764
6765        * fileapi/FileStreamProxy.cpp:
6766        (WebCore::FileStreamProxy::startOnFileThread):
6767        * platform/network/BlobRegistryImpl.cpp:
6768        (WebCore::BlobRegistryImpl::createResourceHandle):
6769        * platform/network/BlobResourceHandle.cpp:
6770        (WebCore::BlobResourceHandle::BlobResourceHandle):
6771        (WebCore::BlobResourceHandle::cancel):
6772        (WebCore::delayedStartBlobResourceHandle):
6773        (WebCore::BlobResourceHandle::start): Keep BlobResourceHandle alive
6774        till the delay function is called.
6775        (WebCore::BlobResourceHandle::doStart):
6776        (WebCore::doNotifyFinish):
6777        (WebCore::BlobResourceHandle::notifyFinish): Notify the client via the
6778        standalone function to prevent the handle from being disposed immediately
6779        by the client which will make the calls in the stack that're still bound
6780        to the handle suffer.
6781        * platform/network/BlobResourceHandle.h:
6782        * platform/network/ResourceHandle.h: Change cancel() to virtual so that
6783        BlobResourceHandle::cancel will be called when we abort a FileReader.
6784
67852011-02-07  Sheriff Bot  <webkit.review.bot@gmail.com>
6786
6787        Unreviewed, rolling out r77845.
6788        http://trac.webkit.org/changeset/77845
6789        https://bugs.webkit.org/show_bug.cgi?id=53946
6790
6791        build failure (Requested by lforschler_ on #webkit).
6792
6793        * WebCore.xcodeproj/project.pbxproj:
6794        * accessibility/AccessibilityAllInOne.cpp:
6795
67962011-02-07  Darin Adler  <darin@apple.com>
6797
6798        https://bugs.webkit.org/show_bug.cgi?id=53939
6799        fast/css/text-overflow-ellipsis.html failure after r77818/77819
6800
6801        * platform/text/TextCodecICU.cpp:
6802        (WebCore::TextCodecICU::registerExtendedEncodingNames):
6803        Add back the "utf8" synonym for "UTF-8".
6804
68052011-02-07  David Hyatt  <hyatt@apple.com>
6806
6807        Reviewed by Dan Bernstein.
6808
6809        Remove an unnecessary extra computeLogicalWidth() from line layout.
6810
6811        * rendering/RenderBlockLineLayout.cpp:
6812        (WebCore::RenderBlock::computeInlineDirectionPositionsForLine):
6813
68142011-02-07  Lucas Forschler  <lforschler@apple.com>
6815
6816        Reviewed by Geoffrey Garen.
6817
6818        Fix Leopard Intel Debug Build.
6819        <rdar://problem/8953606> REGRESSION: Can't link WebCore on 32-bit Leopard (53681)
6820        This could potentially break windows, since I had to change #include <filename> to #include "filename"
6821        
6822        * WebCore.xcodeproj/project.pbxproj:
6823        * accessibility/AccessibilityAllInOne.cpp:
6824
68252011-02-07  Sam Weinig  <sam@webkit.org>
6826
6827        Fix build.
6828
6829        * platform/mac/ScrollAnimatorMac.mm:
6830        (WebCore::ScrollAnimatorMac::didAddVerticalScrollbar):
6831        (WebCore::ScrollAnimatorMac::willRemoveVerticalScrollbar):
6832        (WebCore::ScrollAnimatorMac::didAddHorizontalScrollbar):
6833        (WebCore::ScrollAnimatorMac::willRemoveHorizontalScrollbar):
6834
68352011-02-07  Sam Weinig  <sam@webkit.org>
6836
6837        Reviewed by Beth Dakin.
6838
6839        Add mechanism to inform the ScrollAnimator when Scrollbars are added 
6840        and removed.
6841
6842        * platform/ScrollAnimator.h:
6843        (WebCore::ScrollAnimator::didAddVerticalScrollbar):
6844        (WebCore::ScrollAnimator::willRemoveVerticalScrollbar):
6845        (WebCore::ScrollAnimator::didAddHorizontalScrollbar):
6846        (WebCore::ScrollAnimator::willRemoveHorizontalScrollbar):
6847        Make virtual to allow platform specific overrides.
6848
6849        * platform/ScrollView.cpp:
6850        (WebCore::ScrollView::setHasHorizontalScrollbar):
6851        (WebCore::ScrollView::setHasVerticalScrollbar):
6852        Call new ScrollableArea functions.
6853
6854        * platform/ScrollableArea.cpp:
6855        (WebCore::ScrollableArea::didAddVerticalScrollbar):
6856        (WebCore::ScrollableArea::willRemoveVerticalScrollbar):
6857        (WebCore::ScrollableArea::didAddHorizontalScrollbar):
6858        (WebCore::ScrollableArea::willRemoveHorizontalScrollbar):
6859        * platform/ScrollableArea.h:
6860        Pipe to ScrollAnimator.
6861
6862        * platform/mac/ScrollAnimatorMac.h:
6863        * platform/mac/ScrollAnimatorMac.mm:
6864        (WebCore::ScrollAnimatorMac::didAddVerticalScrollbar):
6865        (WebCore::ScrollAnimatorMac::willRemoveVerticalScrollbar):
6866        (WebCore::ScrollAnimatorMac::didAddHorizontalScrollbar):
6867        (WebCore::ScrollAnimatorMac::willRemoveHorizontalScrollbar):
6868        * platform/mac/ScrollbarThemeMac.h:
6869        * platform/mac/ScrollbarThemeMac.mm:
6870        (WebCore::ScrollbarThemeMac::registerScrollbar):
6871        (WebCore::ScrollbarThemeMac::unregisterScrollbar):
6872        (WebCore::ScrollbarThemeMac::painterForScrollbar):
6873        Move painter delegate registration to the new didAdd/willRemove functions.
6874
68752011-02-07  Anders Carlsson  <andersca@apple.com>
6876
6877        Reviewed by Dan Bernstein.
6878
6879        Missing text match markers with accelerated content
6880        https://bugs.webkit.org/show_bug.cgi?id=53934
6881
6882        When doing the fake paint that recomputes the text match rects, we need to
6883        flatten compositing layers, otherwise the rects won't be updated until the next paint call.
6884
6885        (This worked by accident in WebKit1 because Safari calls -[NSWindow displayIfNeeded] on the containing
6886        window before asking for the text match rects).
6887
6888        * editing/Editor.cpp:
6889        (WebCore::Editor::countMatchesForText):
6890
68912011-02-07  Antti Koivisto  <antti@apple.com>
6892
6893        Reviewed by Andreas Kling.
6894
6895        REGRESSION(r77740): CSSStyleSelector accessing deleted memory for svg/dom/use-transform.svg
6896        https://bugs.webkit.org/show_bug.cgi?id=53900
6897        
6898        Ignore link elements in shadow trees.
6899
6900        * dom/Element.cpp:
6901        (WebCore::StyleSelectorParentPusher::StyleSelectorParentPusher):
6902        (WebCore::StyleSelectorParentPusher::~StyleSelectorParentPusher):
6903                
6904            Some asserts to catch cases like this.
6905
6906        (WebCore::Element::attach):
6907        (WebCore::Element::recalcStyle):
6908        * html/HTMLLinkElement.cpp:
6909        (WebCore::HTMLLinkElement::HTMLLinkElement):
6910        (WebCore::HTMLLinkElement::process):
6911        (WebCore::HTMLLinkElement::insertedIntoDocument):
6912        (WebCore::HTMLLinkElement::removedFromDocument):
6913        * html/HTMLLinkElement.h:
6914
69152011-02-07  Darin Adler  <darin@apple.com>
6916
6917        Turn UTF-8 decoder off for now so we can look into failing tests
6918        without leaving the tree red.
6919
6920        * platform/text/TextCodecICU.cpp:
6921        (WebCore::TextCodecICU::registerBaseEncodingNames): Reverting
6922        earlier change so this can handle UTF-8.
6923        (WebCore::TextCodecICU::registerBaseCodecs): Ditto.
6924        (WebCore::TextCodecICU::registerExtendedEncodingNames): Ditto.
6925        (WebCore::TextCodecICU::registerExtendedCodecs): Ditto.
6926        * platform/text/TextCodecICU.h: Ditto.
6927        * platform/text/TextEncodingRegistry.cpp:
6928        (WebCore::buildBaseTextCodecMaps): Ditto.
6929        (WebCore::extendTextCodecMaps): Ditto.
6930        * platform/text/brew/TextCodecBrew.cpp:
6931        (WebCore::TextCodecBrew::registerBaseEncodingNames): Ditto.
6932        (WebCore::TextCodecBrew::registerBaseCodecs): Ditto.
6933        (WebCore::TextCodecBrew::registerExtendedEncodingNames): Ditto.
6934        (WebCore::TextCodecBrew::registerExtendedCodecs): Ditto.
6935        * platform/text/brew/TextCodecBrew.h: Ditto.
6936        * platform/text/gtk/TextCodecGtk.cpp:
6937        (WebCore::TextCodecGtk::registerBaseEncodingNames): Ditto.
6938        (WebCore::TextCodecGtk::registerBaseCodecs): Ditto.
6939        * platform/text/wince/TextCodecWinCE.cpp:
6940        (WebCore::TextCodecWinCE::registerBaseEncodingNames): Ditto.
6941        (WebCore::TextCodecWinCE::registerBaseCodecs): Ditto.
6942        (WebCore::TextCodecWinCE::registerExtendedEncodingNames): Ditto.
6943        (WebCore::TextCodecWinCE::registerExtendedCodecs): Ditto.
6944        * platform/text/wince/TextCodecWinCE.h: Ditto.
6945
69462011-02-07  Anders Carlsson  <andersca@apple.com>
6947
6948        Reviewed by Maciej Stachowiak.
6949
6950        Don't exclude overlay scrollers from the page overlay bounds
6951        https://bugs.webkit.org/show_bug.cgi?id=53924
6952
6953        Export ScrollbarTheme::nativeTheme.
6954
6955        * WebCore.exp.in:
6956
69572011-02-07  Zhenyao Mo  <zmo@google.com>
6958
6959        Reviewed by Kenneth Russell.
6960
6961        Crash in glDrawArrays with NaCl crystal model
6962        https://bugs.webkit.org/show_bug.cgi?id=52831
6963
6964        * html/canvas/WebGLRenderingContext.cpp: Allocate large enough buffer for atttrib0 if it's enabled and not used.
6965        (WebCore::WebGLRenderingContext::initVertexAttrib0):
6966        (WebCore::WebGLRenderingContext::simulateVertexAttrib0):
6967        * html/canvas/WebGLRenderingContext.h:
6968
69692011-02-07  Chris Fleizach  <cfleizach@apple.com>
6970
6971        Reviewed by Darin Adler.
6972
6973        WAI-ARIA @aria-sort not exposed on rowheader and columnheader roles.
6974        https://bugs.webkit.org/show_bug.cgi?id=53842
6975
6976        Test: platform/mac/accessibility/aria-sort.html
6977
6978        * accessibility/AccessibilityObject.cpp:
6979        (WebCore::AccessibilityObject::sortDirection):
6980        * accessibility/AccessibilityObject.h:
6981        * accessibility/mac/AccessibilityObjectWrapper.mm:
6982        (-[AccessibilityObjectWrapper additionalAccessibilityAttributeNames]):
6983        (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
6984        * html/HTMLAttributeNames.in:
6985
69862011-02-07  Darin Adler  <darin@apple.com>
6987
6988        Reviewed by Antti Koivisto.
6989
6990        Add built-in decoder for UTF-8 for improved performance
6991        https://bugs.webkit.org/show_bug.cgi?id=53898
6992
6993        Correct behavior is covered by existing tests.
6994
6995        * Android.mk: Added TextCodecUTF8.
6996        * CMakeLists.txt: Ditto.
6997        * GNUmakefile.am: Ditto.
6998        * WebCore.gypi: Ditto.
6999        * WebCore.pro: Ditto.
7000        * WebCore.vcproj/WebCore.vcproj: Ditto.
7001        * WebCore.xcodeproj/project.pbxproj: Ditto.
7002
7003        * platform/text/TextCodecICU.cpp: Removed registration of UTF-8
7004        since that's now handled by the built-in UTF-8 codec.
7005        (WebCore::TextCodecICU::registerEncodingNames): Renamed to remove
7006        the word "extended" since all codecs from ICU are now extended.
7007        (WebCore::TextCodecICU::registerCodecs): Ditto.
7008        * platform/text/TextCodecICU.h: Ditto.
7009
7010        * platform/text/TextCodecUTF16.cpp:
7011        (WebCore::TextCodecUTF16::decode): Added a FIXME about missing
7012        error handling.
7013
7014        * platform/text/TextCodecUTF8.cpp: Added.
7015        * platform/text/TextCodecUTF8.h: Added.
7016
7017        * platform/text/TextEncodingRegistry.cpp:
7018        (WebCore::buildBaseTextCodecMaps): Added TextCodecUTF8, and
7019        removed TextCodecICU, TextCodecBrew, and TextCodecWinCE.
7020        (WebCore::extendTextCodecMaps): Updated names for
7021        TextCodecICU and TextCodecWinCE.
7022
7023        * platform/text/brew/TextCodecBrew.cpp:
7024        (WebCore::TextCodecBrew::registerEncodingNames): Renamed to remove
7025        the word "extended" since all codecs from Brew are now extended.
7026        (WebCore::TextCodecBrew::registerCodecs): Ditto.
7027        * platform/text/brew/TextCodecBrew.h: Ditto.
7028
7029        * platform/text/gtk/TextCodecGtk.cpp:
7030        (WebCore::TextCodecGtk::registerBaseEncodingNames): Removed
7031        registration of UTF-8. It's questionable whether the other codecs
7032        here are really basic. If we think they qualify, then we should
7033        register them on other platforms, not just GTK.
7034        (WebCore::TextCodecGtk::registerBaseCodecs): Ditto.
7035
7036        * platform/text/wince/TextCodecWinCE.cpp:
7037        (WebCore::getCodePage): Removed special case for UTF-8 since we
7038        no longer use this codec for UTF-8.
7039        (WebCore::TextCodecWinCE::registerEncodingNames): Renamed to remove
7040        the word "extended" since all codecs from WinCE are now extended.
7041        (WebCore::TextCodecWinCE::registerCodecs): Ditto.
7042        * platform/text/wince/TextCodecWinCE.h: Ditto.
7043
70442011-02-07  Mario Sanchez Prada  <msanchez@igalia.com>
7045
7046        Reviewed by Xan Lopez.
7047
7048        [Gtk] atk_text_get_caret_offset fails for list items
7049        https://bugs.webkit.org/show_bug.cgi?id=53436
7050
7051        Consider list item markers when calculating the offset.
7052
7053        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
7054        (webkit_accessible_text_get_caret_offset): Adjust the offset
7055        with the item marker's length for list items.
7056        (webkit_accessible_text_set_caret_offset): Replace usage of
7057        g_utf8_strlen() by calling to markerText.length().
7058
70592011-02-07  Yi Shen  <yi.4.shen@nokia.com>
7060
7061        Reviewed by Tor Arne Vestbø.
7062
7063        [Qt] Fix LayoutTests/media/restore-from-page-cache.html
7064        https://bugs.webkit.org/show_bug.cgi?id=53621
7065
7066        Changed the networkState to MediaPlayer::Loaded when 
7067        MediaPlayerPrivateQt has enough data.
7068
7069        Test: media/restore-from-page-cache.html
7070
7071        * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
7072        (WebCore::MediaPlayerPrivateQt::updateStates):
7073
70742011-01-31  Pavel Podivilov  <podivilov@chromium.org>
7075
7076        Reviewed by Yury Semikhatsky.
7077
7078        Web Inspector: implement beautification of scripts inlined in html documents.
7079        https://bugs.webkit.org/show_bug.cgi?id=52706
7080
7081        To beautify scripts inlined in html, we need to cut individual scripts, beautify them using UglifyJS library, and
7082        finally paste them back to html.
7083
7084        * WebCore.gypi:
7085        * WebCore.vcproj/WebCore.vcproj:
7086        * inspector/front-end/ScriptFormatter.js:
7087        (WebInspector.ScriptFormatter): Implement formatting of scripts inlined in html.
7088        (WebInspector.ScriptFormatter.prototype.formatContent.didFormatChunks):
7089        (WebInspector.ScriptFormatter.prototype.formatContent):
7090        (WebInspector.ScriptFormatter.prototype._splitContentIntoChunks):
7091        (WebInspector.ScriptFormatter.prototype._formatChunks.didFormat):
7092        (WebInspector.ScriptFormatter.prototype._formatChunks):
7093        (WebInspector.ScriptFormatter.prototype._buildContentFromChunks):
7094        (WebInspector.ScriptFormatter.prototype._formatScript.messageHandler):
7095        (WebInspector.ScriptFormatter.prototype._formatScript):
7096        * inspector/front-end/ScriptFormatterWorker.js:
7097        (onmessage):
7098        (buildMapping):
7099        * inspector/front-end/SourceFrame.js:
7100        (WebInspector.SourceFrameContent): Use SourceFrameContent and FormattedSourceFrameContent to perform operations with line numbers.
7101        * inspector/front-end/SourceFrameContent.js: Added.
7102        (WebInspector.SourceFrameContent): Helper class, holds resource text and scripts layout
7103        (WebInspector.SourceFrameContent.prototype.get scriptRanges):
7104        (WebInspector.SourceFrameContent.prototype.locationToPosition):
7105        (WebInspector.SourceFrameContent.prototype.positionToLocation):
7106        (WebInspector.SourceFrameContent.prototype.scriptLocationForLineNumber):
7107        (WebInspector.SourceFrameContent.prototype.scriptLocationForRange):
7108        (WebInspector.SourceFrameContent.prototype.lineNumberToRange):
7109        (WebInspector.SourceFrameContent.prototype._intersectingScriptRange):
7110        (WebInspector):
7111        (WebInspector.FormattedSourceFrameContent): Helper class, holds original and formatted versions of resource and mapping between them.
7112        (WebInspector.FormattedSourceFrameContent.prototype.get text):
7113        (WebInspector.FormattedSourceFrameContent.prototype.originalLocationToFormattedLocation):
7114        (WebInspector.FormattedSourceFrameContent.prototype.scriptLocationForFormattedLineNumber):
7115        (WebInspector.FormattedSourceFrameContent.prototype._convertPosition):
7116        * inspector/front-end/WebKit.qrc:
7117        * inspector/front-end/inspector.html:
7118
71192011-02-07  Pavel Feldman  <pfeldman@chromium.org>
7120
7121        Reviewed by Yury Semikhatsky.
7122
7123        Web Inspector: "Reveal in elements panel" does not always work.
7124        https://bugs.webkit.org/show_bug.cgi?id=53775
7125
7126        * inspector/front-end/ConsoleView.js:
7127        (WebInspector.ConsoleView):
7128        * inspector/front-end/ContextMenu.js:
7129        (WebInspector.ContextMenu.prototype.show):
7130        * inspector/front-end/ElementsPanel.js:
7131        (WebInspector.ElementsPanel.prototype.switchToAndFocus):
7132        * inspector/front-end/ElementsTreeOutline.js:
7133        (WebInspector.ElementsTreeOutline.prototype._contextMenuEventFired.focusElement):
7134        (WebInspector.ElementsTreeOutline.prototype._contextMenuEventFired):
7135        * inspector/front-end/ObjectPropertiesSection.js:
7136        (WebInspector.ObjectPropertyTreeElement.prototype.update):
7137        (WebInspector.ObjectPropertyTreeElement.prototype._contextMenuEventFired):
7138        * inspector/front-end/inspector.js:
7139        (WebInspector.cancelSearch):
7140
71412011-02-07  Adam Barth  <abarth@webkit.org>
7142
7143        Reviewed by Eric Seidel.
7144
7145        Relative .. in URL paths shouldn't skip adjacent / characters
7146        https://bugs.webkit.org/show_bug.cgi?id=53907
7147
7148        Our new behavior matches Firefox, Chrome, and IE.
7149
7150        * platform/KURL.cpp:
7151        (WebCore::copyPathRemovingDots):
7152
71532011-02-07  Maciej Stachowiak  <mjs@apple.com>
7154
7155        Reviewed by Antti Koivisto.
7156
7157        WebKitTestRunner does not block remote resources or complain about them
7158        https://bugs.webkit.org/show_bug.cgi?id=42139
7159        <rdar://problem/8183942>
7160
7161        * Configurations/WebCore.xcconfig: Allow WebKitTestRunner to link
7162        WebCore.
7163        * WebCore.exp.in: Export a handful of KURL symbols.
7164
71652011-02-06  Ryosuke Niwa  <rniwa@webkit.org>
7166
7167        Reviewed by Darin Adler.
7168
7169        OwnArraryPtr.h uses deleteOwnedPtr but doesn’t include OwnPtrCommon.h
7170        https://bugs.webkit.org/show_bug.cgi?id=52867
7171
7172        * ForwardingHeaders/wtf/OwnArrayPtrCommon.h: Removed.
7173        * bindings/v8/NPV8Object.cpp:
7174        (WebCore::createValueListFromVariantArgs): Returns PassOwnArrayPtr<v8::Handle<v8::Value>> instead of
7175        v8::Handle<v8::Value>*.
7176        (_NPN_Invoke): Calls createValueListFromVariantArgs.
7177        (_NPN_InvokeDefault): createValueListFromVariantArgs.
7178        (_NPN_Construct): createValueListFromVariantArgs.
7179        * bindings/v8/ScriptFunctionCall.cpp:
7180        (WebCore::ScriptFunctionCall::call): Calls adoptArrayPtr.
7181        (WebCore::ScriptFunctionCall::construct): Ditto.
7182        (WebCore::ScriptCallback::call):
7183        * bindings/v8/V8DOMWindowShell.cpp:
7184        (WebCore::V8DOMWindowShell::createNewContext): Ditto.
7185        * bindings/v8/V8NPObject.cpp:
7186        (WebCore::npObjectInvokeImpl): Ditto
7187        * bindings/v8/V8NodeFilterCondition.cpp:
7188        (WebCore::V8NodeFilterCondition::acceptNode): Ditto,
7189        * html/HTMLAreaElement.cpp:
7190        (WebCore::HTMLAreaElement::parseMappedAttribute): Calls newCoordsArray.
7191        * html/HTMLFrameSetElement.cpp:
7192        (WebCore::HTMLFrameSetElement::parseMappedAttribute): Calls newLengthArray.
7193        * html/canvas/WebGLRenderingContext.cpp:
7194        (WebCore::WebGLRenderingContext::getAttachedShaders): Calls adoptArraYptr.
7195        (WebCore::WebGLRenderingContext::simulateVertexAttrib0): Ditto.
7196        (WebCore::WebGLRenderingContext::LRUImageBufferCache::LRUImageBufferCache): Dito.
7197        * platform/Length.cpp:
7198        (WebCore::newCoordsArray): Returns PassOwnArrayPtr<Length> instead of Length*.
7199        (WebCore::newLengthArray): Returns PassOwnArrayPtr<Length> instead of Length*.
7200        * platform/Length.h: Prototype changes.
7201        * platform/graphics/ANGLEWebKitBridge.cpp:
7202        (WebCore::ANGLEWebKitBridge::validateShaderSource): Calls adoptArrayPtr.
7203        * platform/graphics/ca/win/CACFLayerTreeHost.cpp:
7204        (WebCore::getDirtyRects): Ditto.
7205        * platform/graphics/chromium/ComplexTextControllerLinux.cpp:
7206        (WebCore::ComplexTextController::getNormalizedTextRun): Ditto.
7207        * platform/graphics/chromium/HarfbuzzSkia.cpp:
7208        (WebCore::glyphsToAdvances): Ditto.
7209        (WebCore::canRender): Ditto.
7210        * platform/graphics/gpu/Texture.cpp:
7211        (WebCore::Texture::updateSubRect): Ditto.
7212        * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
7213        (WebCore::GraphicsContext3D::paintRenderingResultsToCanvas): Ditto.
7214        * platform/graphics/skia/PlatformContextSkia.cpp:
7215        (WebCore::PlatformContextSkia::readbackHardwareToSoftware): Ditto.
7216        * platform/graphics/wince/SharedBitmap.cpp:
7217        (WebCore::SharedBitmap::to16bit): Ditto.
7218        * platform/win/ContextMenuWin.cpp:
7219        (WebCore::ContextMenu::getContextMenuItems): Ditto.
7220        * platform/win/LoggingWin.cpp:
7221        (WebCore::initializeWithUserDefault): Ditto.
7222        * plugins/win/PluginPackageWin.cpp:
7223        (WebCore::PluginPackage::fetchInfo): Ditto.
7224
72252011-02-06  Kent Tamura  <tkent@chromium.org>
7226
7227        Unreviewed.
7228
7229        * WebCore.xcodeproj/project.pbxproj: Run sort-xcode-project-file.
7230
72312011-02-03  Dominic Cooney  <dominicc@google.com>
7232
7233        Reviewed by Dimitri Glazkov.
7234
7235        Convert <keygen> option elements to a shadow DOM
7236        https://bugs.webkit.org/show_bug.cgi?id=51379
7237
7238        Covered by existing tests e.g. fast/html/keygen.html,
7239        html5lib/runner.html, etc.
7240
7241        * css/html.css:
7242        (form): Cleanup.
7243        (keygen, select): Border radii should match so focus ring looks good.
7244        (keygen::-webkit-keygen-select): No margin on the shadow element.
7245        (select): Hoisting border radius to keygen, select rule.
7246        * dom/SelectElement.cpp:
7247        (WebCore::toSelectElement): keygen is no longer a select element.
7248        * html/HTMLKeygenElement.cpp: Implements keygen shadow.
7249        (WebCore::KeygenSelectElement::create):
7250        (WebCore::KeygenSelectElement::shadowPseudoId):
7251        (WebCore::KeygenSelectElement::KeygenSelectElement):
7252        (WebCore::HTMLKeygenElement::HTMLKeygenElement):
7253        (WebCore::HTMLKeygenElement::parseMappedAttribute):
7254        (WebCore::HTMLKeygenElement::appendFormData):
7255        (WebCore::HTMLKeygenElement::formControlType):
7256        (WebCore::HTMLKeygenElement::reset):
7257        (WebCore::HTMLKeygenElement::selectShadow):
7258        * html/HTMLKeygenElement.h: keygen is no longer a select on C++ side.
7259        (WebCore::HTMLKeygenElement::canStartSelection):
7260        (WebCore::HTMLKeygenElement::isEnumeratable):
7261        (WebCore::HTMLKeygenElement::isResettable):
7262        * html/HTMLOptionElement.cpp:
7263        (WebCore::HTMLOptionElement::ownerSelectElement): Only owned by selects.
7264        * html/HTMLSelectElement.cpp:
7265        (WebCore::HTMLSelectElement::HTMLSelectElement): Only 'select' tag name.
7266
72672011-02-06  Benjamin Poulain  <ikipou@gmail.com>
7268
7269        Reviewed by Kenneth Rohde Christiansen.
7270
7271        [Qt] Fix coding style errors in ClipboardQt.h
7272        https://bugs.webkit.org/show_bug.cgi?id=43520
7273
7274        Fix coding style: order of header and indentation.
7275
7276        * platform/qt/ClipboardQt.h:
7277        (WebCore::ClipboardQt::create):
7278        (WebCore::ClipboardQt::clipboardData):
7279        (WebCore::ClipboardQt::invalidateWritableData):
7280
72812011-02-06  Antti Koivisto  <antti@apple.com>
7282
7283        Reviewed by Maciej Stachowiak.
7284
7285        Use bloom filter for descendant selector filtering
7286        https://bugs.webkit.org/show_bug.cgi?id=53880
7287        
7288        Bloom filter is faster than a hash set in this kind of use.
7289        
7290        Shark thinks this speeds up style matching by ~30% on sites
7291        with lots of descendant selectors.
7292
7293        * ForwardingHeaders/wtf/BloomFilter.h: Added.
7294        * css/CSSStyleSelector.cpp:
7295        (WebCore::collectElementIdentifierHashes):
7296        (WebCore::CSSStyleSelector::pushParent):
7297        (WebCore::CSSStyleSelector::popParent):
7298        (WebCore::CSSStyleSelector::fastRejectSelector):
7299        (WebCore::RuleData::collectDescendantSelectorIdentifierHashes):
7300        * css/CSSStyleSelector.h:
7301
73022011-02-06  Maciej Stachowiak  <mjs@apple.com>
7303
7304        Reviewed by Antti Koivisto.
7305
7306        media/video-document-types.html sometimes crashes the WebProcess
7307        https://bugs.webkit.org/show_bug.cgi?id=53884
7308
7309        No new tests. Already covered by media/video-document-types.html
7310
7311        * html/HTMLMediaElement.cpp:
7312        (WebCore::HTMLMediaElement::userCancelledLoad): Stop the load timer
7313        when cancelling the load.
7314
73152011-02-06  Patrick Gansterer  <paroga@webkit.org>
7316
7317        Reviewed by Adam Roben.
7318
7319        [WIN] Use WCHAR instead of TCHAR
7320        https://bugs.webkit.org/show_bug.cgi?id=53863
7321
7322        We always use the UNICODE versions of windows functions, so
7323        the usage of TCHAR makes no sense and mixing them is bad style.
7324
7325        * platform/graphics/win/IconWin.cpp:
7326        (WebCore::Icon::createIconForFiles):
7327        * platform/graphics/win/QTMovie.cpp:
7328        * platform/graphics/win/QTMovieGWorld.cpp:
7329        (QTMovieGWorld::fullscreenWndProc):
7330        (QTMovieGWorld::enterFullscreen):
7331        * platform/graphics/win/SimpleFontDataCGWin.cpp:
7332        (WebCore::SimpleFontData::platformInit):
7333        * platform/graphics/win/SimpleFontDataCairoWin.cpp:
7334        * platform/graphics/win/SimpleFontDataWin.cpp:
7335        * platform/graphics/wince/SimpleFontDataWinCE.cpp:
7336        * platform/win/BString.cpp:
7337        * platform/win/ClipboardWin.cpp:
7338        (WebCore::filesystemPathFromUrlOrTitle):
7339        (WebCore::createGlobalHDropContent):
7340        (WebCore::createGlobalImageFileDescriptor):
7341        * platform/win/ContextMenuWin.cpp:
7342        * platform/win/CursorWin.cpp:
7343        (WebCore::loadSharedCursor):
7344        * platform/win/FileChooserWin.cpp:
7345        (WebCore::FileChooser::basenameForWidth):
7346        * platform/win/PopupMenuWin.cpp:
7347        (WebCore::PopupMenuWin::popupClassName):
7348        (WebCore::PopupMenuWin::show):
7349        * platform/win/PopupMenuWin.h:
7350
73512011-02-06  Patrick Gansterer  <paroga@webkit.org>
7352
7353        Reviewed by Andreas Kling.
7354
7355        Replace FLT_MAX with std::numeric_limits
7356        https://bugs.webkit.org/show_bug.cgi?id=53861
7357
7358        Also move EFL's userIdleTime from TemporaryLinkStubs into SystemTimeEfl.
7359
7360        * html/NumberInputType.cpp:
7361        * html/parser/HTMLParserIdioms.cpp:
7362        (WebCore::parseToDoubleForNumberType):
7363        * platform/brew/SystemTimeBrew.cpp:
7364        (WebCore::userIdleTime):
7365        * platform/efl/SystemTimeEfl.cpp:
7366        (WebCore::userIdleTime):
7367        * platform/efl/TemporaryLinkStubs.cpp:
7368        * platform/graphics/ca/GraphicsLayerCA.cpp:
7369        (WebCore::GraphicsLayerCA::setupAnimation):
7370        * platform/win/SystemTimeWin.cpp:
7371        (WebCore::userIdleTime):
7372        * platform/wx/SystemTimeWx.cpp:
7373        (WebCore::userIdleTime):
7374
73752011-02-06  Patrick Gansterer  <paroga@webkit.org>
7376
7377        Reviewed by Andreas Kling.
7378
7379        [CMake] Add dependencies for Visual Studio projects
7380        https://bugs.webkit.org/show_bug.cgi?id=53773
7381
7382        Add a JavaScriptCore dependecy to WebCore, so CMake can 
7383        generate the correct build order for the solution.
7384
7385        * CMakeLists.txt:
7386
73872011-02-06  Patrick Gansterer  <paroga@webkit.org>
7388
7389        Reviewed by Andreas Kling.
7390
7391        [CMake] Unify ENABLE_SVG sections
7392        https://bugs.webkit.org/show_bug.cgi?id=53778
7393
7394        * CMakeLists.txt:
7395
73962011-02-06  Andreas Kling  <kling@webkit.org>
7397
7398        Reviewed by Dirk Schulze.
7399
7400        Refactor Font::normalizeSpaces() to avoid an extra String copy.
7401        https://bugs.webkit.org/show_bug.cgi?id=53871
7402
7403        Have normalizeSpaces() take UChar*,length arguments instead of a
7404        String, since all call sites were creating temporaries from these
7405        components anyway.
7406
7407        Font::normalizeSpaces() now always makes 1 String copy,
7408        instead of 1 in the best case and 2 in the worst case.
7409
7410        * platform/graphics/Font.cpp:
7411        (WebCore::Font::normalizeSpaces):
7412        * platform/graphics/Font.h:
7413        * platform/graphics/qt/FontQt.cpp:
7414        (WebCore::drawTextCommon):
7415        (WebCore::Font::floatWidthForSimpleText):
7416        (WebCore::Font::floatWidthForComplexText):
7417        (WebCore::Font::offsetForPositionForSimpleText):
7418        (WebCore::Font::offsetForPositionForComplexText):
7419        (WebCore::Font::selectionRectForSimpleText):
7420        (WebCore::Font::selectionRectForComplexText):
7421        * svg/SVGFont.cpp:
7422        (WebCore::SVGTextRunWalker::walk):
7423
74242011-02-06  Andreas Kling  <kling@webkit.org>
7425
7426        Reviewed by Dirk Schulze.
7427
7428        Fix potential buffer overrun in SVGTextRunWalker::walk()
7429        https://bugs.webkit.org/show_bug.cgi?id=53870
7430
7431        A new String was created from a UChar* with a 'length' argument
7432        that could be greater than the number of UChars available.
7433
7434        * svg/SVGFont.cpp:
7435        (WebCore::SVGTextRunWalker::walk):
7436
74372011-02-05  Adam Barth  <abarth@webkit.org>
7438
7439        Reviewed by Eric Seidel.
7440
7441        Remove unused parameter related to XSSAuditor
7442        https://bugs.webkit.org/show_bug.cgi?id=53862
7443
7444        * WebCore.exp.in:
7445        * bindings/ScriptControllerBase.cpp:
7446        (WebCore::ScriptController::executeScript):
7447        (WebCore::ScriptController::executeIfJavaScriptURL):
7448        * bindings/ScriptControllerBase.h:
7449        * bindings/js/ScriptController.cpp:
7450        (WebCore::ScriptController::evaluateInWorld):
7451        (WebCore::ScriptController::evaluate):
7452        (WebCore::ScriptController::executeScriptInWorld):
7453        * bindings/js/ScriptController.h:
7454        * bindings/v8/ScriptController.cpp:
7455        (WebCore::ScriptController::evaluate):
7456        * bindings/v8/ScriptController.h:
7457
74582011-02-05  Adam Barth  <abarth@webkit.org>
7459
7460        Fix Qt build.
7461
7462        * WebCore.pro:
7463
74642011-02-05  Adam Barth  <abarth@webkit.org>
7465
7466        Reviewed by Eric Seidel.
7467
7468        Delete XSSAuditor
7469        https://bugs.webkit.org/show_bug.cgi?id=53859
7470
7471        The job of the XSSAuditor is now done by the XSSFilter.  In the future,
7472        we might rename XSSFilter to XSSAuditor.
7473
7474        * Android.mk:
7475        * CMakeLists.txt:
7476        * GNUmakefile.am:
7477        * WebCore.gypi:
7478        * WebCore.vcproj/WebCore.vcproj:
7479        * WebCore.xcodeproj/project.pbxproj:
7480        * bindings/ScriptControllerBase.cpp:
7481        (WebCore::ScriptController::executeIfJavaScriptURL):
7482        * bindings/ScriptControllerBase.h:
7483        * bindings/js/ScriptController.cpp:
7484        (WebCore::ScriptController::ScriptController):
7485        (WebCore::ScriptController::evaluateInWorld):
7486        * bindings/js/ScriptController.h:
7487        * bindings/js/ScriptEventListener.cpp:
7488        (WebCore::createAttributeEventListener):
7489        * bindings/v8/ScriptController.cpp:
7490        (WebCore::ScriptController::ScriptController):
7491        (WebCore::ScriptController::evaluate):
7492        * bindings/v8/ScriptController.h:
7493        * bindings/v8/ScriptEventListener.cpp:
7494        (WebCore::createAttributeEventListener):
7495        * dom/Document.cpp:
7496        (WebCore::Document::implicitOpen):
7497        (WebCore::Document::processBaseElement):
7498        * dom/ScriptableDocumentParser.cpp:
7499        (WebCore::ScriptableDocumentParser::ScriptableDocumentParser):
7500        * dom/ScriptableDocumentParser.h:
7501        * html/parser/HTMLDocumentParser.cpp:
7502        (WebCore::HTMLDocumentParser::shouldLoadExternalScriptFromSrc):
7503        * loader/SubframeLoader.cpp:
7504        (WebCore::SubframeLoader::requestObject):
7505        (WebCore::SubframeLoader::loadMediaPlayerProxyPlugin):
7506        * page/XSSAuditor.cpp: Removed.
7507        * page/XSSAuditor.h: Removed.
7508
75092011-02-05  Anders Carlsson  <andersca@apple.com>
7510
7511        Reviewed by Darin Adler.
7512
7513        Need a way to resize and scroll the page at the same time
7514        https://bugs.webkit.org/show_bug.cgi?id=53814
7515        <rdar://problem/8498008>
7516
7517        Export a function needed by WebKit2.
7518
7519        * WebCore.exp.in:
7520
75212011-02-05  Patrick Gansterer  <paroga@webkit.org>
7522
7523        Reviewed by Alexey Proskuryakov.
7524
7525        Use Document::encoding() instead of DocumentWriter::encoding()
7526        https://bugs.webkit.org/show_bug.cgi?id=53398
7527
7528        This change makes the code more readable, when a subresource
7529        inherits the character encoding of the document.
7530
7531        * dom/ProcessingInstruction.cpp:
7532        (WebCore::ProcessingInstruction::checkStyleSheet):
7533        * dom/ScriptElement.cpp:
7534        (WebCore::ScriptElement::scriptCharset):
7535        * html/HTMLLinkElement.cpp:
7536        (WebCore::HTMLLinkElement::process):
7537        * loader/cache/CachedResourceLoader.cpp:
7538        (WebCore::CachedResourceLoader::requestPreload):
7539        * platform/network/FormDataBuilder.cpp:
7540        (WebCore::FormDataBuilder::encodingFromAcceptCharset):
7541
75422011-02-05  Adam Barth  <abarth@webkit.org>
7543
7544        Reviewed by Eric Seidel.
7545
7546        Introduce URLString to represent a canonicalized URL represented by a string
7547        https://bugs.webkit.org/show_bug.cgi?id=53847
7548
7549        Instead of using String all over the codebase to represent a URL,
7550        instead we should have a type to represent a canonicalized URL in the
7551        form of a string.  This patch introduces that type.
7552
7553        * GNUmakefile.am:
7554        * WebCore.gypi:
7555        * WebCore.xcodeproj/project.pbxproj:
7556        * platform/KURL.cpp:
7557        (WebCore::KURL::KURL):
7558        * platform/KURL.h:
7559        (WebCore::KURL::urlString):
7560
75612011-02-05  Robert Hogan  <robert@webkit.org>
7562
7563        Reviewed by Antonio Gomes.
7564
7565        [Qt] Style widgets not rendering
7566        https://bugs.webkit.org/show_bug.cgi?id=53849
7567
7568        * html/HTMLObjectElement.cpp:
7569        (WebCore::HTMLObjectElement::hasValidClassId): x-qt-styled-widget is a valid class id too
7570
75712011-02-05  Jochen Eisinger  <jochen@chromium.org>
7572
7573        Reviewed by Adam Barth.
7574
7575        Add ContentSecurityPolicy object to Document and pass the X-WebKit-CSP header from the MainResourceLoader.
7576        https://bugs.webkit.org/show_bug.cgi?id=53685
7577
7578        * WebCore.xcodeproj/project.pbxproj:
7579        * dom/Document.h:
7580        (WebCore::Document::contentSecurityPolicy):
7581        * loader/MainResourceLoader.cpp:
7582        (WebCore::MainResourceLoader::didReceiveResponse):
7583        * page/ContentSecurityPolicy.cpp:
7584        (WebCore::ContentSecurityPolicy::didReceiveHeader):
7585        * page/ContentSecurityPolicy.h:
7586
75872011-02-05  Eric Seidel  <eric@webkit.org>
7588
7589        Reviewed by Adam Barth.
7590
7591        Safari should lowercase schemes in cannonicalized urls to match every other browser
7592        https://bugs.webkit.org/show_bug.cgi?id=53848
7593
7594        We're clearly the odd man out here.  See results from every browser at:
7595        https://github.com/abarth/url-spec/blob/master/tests/gurl-results/by-browser.txt
7596
7597        * platform/KURL.cpp:
7598        (WebCore::KURL::parse):
7599         - Just lowercase the scheme when copying.
7600
76012011-02-05  Antti Koivisto  <antti@apple.com>
7602
7603        Reviewed by Dave Hyatt.
7604
7605        Optimize matching of descendant selectors
7606        https://bugs.webkit.org/show_bug.cgi?id=49876
7607        <rdar://problem/8772822>
7608        
7609        During style recalculation, maintain a filter of tags, ids and classes seen in ancestor elements.
7610        Use the filter to quickly reject descendant and child selectors when doing style matching.
7611
7612        This speeds up style recalculations 3-6x on many major web sites.
7613
7614        * css/CSSStyleSelector.cpp:
7615        (WebCore::RuleData::RuleData):
7616        (WebCore::RuleData::descendantSelectorIdentifierHashes):
7617        (WebCore::collectElementIdentifiers):
7618        (WebCore::CSSStyleSelector::pushParent):
7619        (WebCore::CSSStyleSelector::popParent):
7620        (WebCore::CSSStyleSelector::fastRejectSelector):
7621        (WebCore::CSSStyleSelector::matchRulesForList):
7622        (WebCore::RuleData::collectDescendantSelectorIdentifierHashes):
7623        * css/CSSStyleSelector.h:
7624        (WebCore::CSSStyleSelector::ParentStackFrame::ParentStackFrame):
7625        * dom/Element.cpp:
7626        (WebCore::StyleSelectorParentPusher::StyleSelectorParentPusher):
7627        (WebCore::StyleSelectorParentPusher::push):
7628        (WebCore::StyleSelectorParentPusher::~StyleSelectorParentPusher):
7629        (WebCore::Element::attach):
7630        (WebCore::Element::recalcStyle):
7631
76322011-02-05  Nate Chapin  <japhet@chromium.org>
7633
7634        Reviewed by Adam Barth.
7635
7636        Refactor: NotificationCenter shouldn't hold its own copy of the ScriptExecutionContext*
7637        when it inherits one from ActiveDOMObject.
7638        https://bugs.webkit.org/show_bug.cgi?id=53815
7639
7640        * bindings/js/JSDesktopNotificationsCustom.cpp:
7641        (WebCore::JSNotificationCenter::requestPermission):
7642        * bindings/v8/custom/V8NotificationCenterCustom.cpp:
7643        (WebCore::V8NotificationCenter::requestPermissionCallback):
7644        * notifications/NotificationCenter.cpp:
7645        (WebCore::NotificationCenter::NotificationCenter):
7646        (WebCore::NotificationCenter::checkPermission):
7647        (WebCore::NotificationCenter::requestPermission):
7648        (WebCore::NotificationCenter::disconnectFrame):
7649        * notifications/NotificationCenter.h:
7650        (WebCore::NotificationCenter::createHTMLNotification):
7651        (WebCore::NotificationCenter::createNotification):
7652
76532011-02-04  Adam Barth  <abarth@webkit.org>
7654
7655        Reviewed by Maciej Stachowiak.
7656
7657        Crash in WebCore::TextEncoding::decode below XSSFilter::init
7658        https://bugs.webkit.org/show_bug.cgi?id=53837
7659
7660        Add missing null check.
7661
7662        Test: http/tests/security/xssAuditor/non-block-javascript-url-frame.html
7663
7664        * html/parser/XSSFilter.cpp:
7665        (WebCore::XSSFilter::init):
7666
76672011-02-04  Simon Fraser  <simon.fraser@apple.com>
7668
7669        Reviewed by Dan Bernstein.
7670
7671        Crashes in ShadowBlur via WebKit2 FindController
7672        https://bugs.webkit.org/show_bug.cgi?id=53830
7673        
7674        Fix a crash cause by re-entering ShadowBlur, and add assertions to
7675        detect when it happens.
7676        
7677        The re-entrancy occurred when drawRectShadowWithTiling() filled
7678        the interior of the shadow with fillRect() on the context
7679        which still had the shadow state set. This would make another ShadowBlur
7680        on the stack and call into the code again, potentially blowing away
7681        the image buffer.
7682        
7683        Fix by turning off shadows in the destination context while we're
7684        drawing the tiled shadow. The non-tiled code path already did this.
7685
7686        Not testable because CSS shadows clip out the inside of the rect
7687        being shadowed, and SVG uses fillPath, even for rects.
7688
7689        * platform/graphics/ShadowBlur.cpp:
7690        (WebCore::ScratchBuffer::ScratchBuffer):
7691        (WebCore::ScratchBuffer::getScratchBuffer):
7692        (WebCore::ScratchBuffer::scheduleScratchBufferPurge):
7693        (WebCore::ShadowBlur::ShadowBlur):
7694        (WebCore::ShadowBlur::drawRectShadowWithTiling):
7695
76962011-02-04  Carlos Garcia Campos  <cgarcia@igalia.com>
7697
7698        Reviewed by Martin Robinson.
7699
7700        [GTK] Don't use a fixed size for search field icons
7701        https://bugs.webkit.org/show_bug.cgi?id=50624
7702
7703        Use the parent input content box to make sure the icon fits in the
7704        search field, scaling it down when needed.
7705
7706        * platform/gtk/RenderThemeGtk.cpp:
7707        (WebCore::paintGdkPixbuf):
7708        (WebCore::getIconSizeForPixelSize):
7709        (WebCore::adjustSearchFieldIconStyle):
7710        (WebCore::RenderThemeGtk::adjustSearchFieldResultsDecorationStyle):
7711        (WebCore::centerRectVerticallyInParentInputElement):
7712        (WebCore::RenderThemeGtk::paintSearchFieldResultsDecoration):
7713        (WebCore::RenderThemeGtk::adjustSearchFieldCancelButtonStyle):
7714        (WebCore::RenderThemeGtk::paintSearchFieldCancelButton):
7715        (WebCore::RenderThemeGtk::paintCapsLockIndicator):
7716        (WebCore::RenderThemeGtk::paintMediaButton):
7717
77182011-02-04  Hironori Bono  <hbono@chromium.org>
7719
7720        Reviewed by Adam Barth.
7721
7722        [chromium] JPEG corruption
7723        https://bugs.webkit.org/show_bug.cgi?id=53250
7724
7725        Same as gray-scale JPEGs, we convert the colors of CMYK JPEGs with color
7726        profiles from CMYK to RGB twice and it causes color corruption. This
7727        change suppresses the color profiles for CMYK JPEGs same as gray-scale
7728        ones.
7729
7730        Test: fast/images/cmyk-jpeg-with-color-profile.html
7731
7732        * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
7733        (WebCore::JPEGImageReader::decode):
7734
77352011-02-04  Xiyuan Xia  <xiyuan@chromium.org>
7736
7737        Reviewed by Tony Chang.
7738
7739        [Chromium] Option text in select popup does not align with menulist button text
7740        https://bugs.webkit.org/show_bug.cgi?id=53632
7741
7742        This makes clientPaddingLeft and  clientPaddingRight return
7743        the additional m_innerBlock's padding so that the popup item text
7744        aligns with the menulist button text.
7745
7746        * rendering/RenderMenuList.cpp:
7747        (WebCore::RenderMenuList::clientPaddingLeft):
7748        (WebCore::RenderMenuList::clientPaddingRight):
7749
77502011-02-04  Anders Carlsson  <andersca@apple.com>
7751
7752        Reviewed by Sam Weinig and Beth Dakin.
7753
7754        REGRESSION: Horizontal scrollbar thumbs leave artifacts over page content when scrolling vertically
7755        <rdar://problem/8962457>
7756
7757        * platform/ScrollView.cpp:
7758        (WebCore::ScrollView::scrollContents):
7759        Subtract scrollbars from the scroll view rect if overlay scrollers are enabled.
7760        
7761        * platform/ScrollableArea.cpp:
7762        (WebCore::ScrollableArea::setScrollOffsetFromAnimation):
7763        Make sure to invalidate both scrollbars if overlay scrollers are enabled.
7764
77652011-02-04  Adam Barth  <abarth@webkit.org>
7766
7767        Reviewed by Eric Seidel.
7768
7769        PluginDocuments don't create widgets for plugins on back/forward
7770        https://bugs.webkit.org/show_bug.cgi?id=53474
7771
7772        Long ago, PluginDocument always caused the HTMLEmbedElement to create
7773        its widget synchronously during a post-layout task.  Recently, however,
7774        some changes to the HistroyController caused layout on back/forward to
7775        become slightly more complicated (and added an extra level of recursion
7776        to layout).  This extra level of recursion triggered the "I've recursed
7777        too many times" condition in the post-layout task queue, causing the
7778        FrameView to run the remainder of the tasks asynchronously.
7779        Unfortunately, that broke PluginDocument because it needs its the
7780        HTMLEmbedElement's updateWidget task to run synchronously.
7781
7782        This patch adds a mechanism for "kicking off" the pending post-layout
7783        tasks synchronously (instead of waiting for the timer to fire).
7784        PluginDocument then uses that facility to ensure that the
7785        HTMLEmbedElement's updateWidget task happens.
7786
7787        Test: plugins/plugin-document-back-forward.html
7788
7789        * html/PluginDocument.cpp:
7790        (WebCore::PluginDocumentParser::appendBytes):
7791        * page/FrameView.cpp:
7792        (WebCore::FrameView::flushAnyPendingPostLayoutTasks):
7793        * page/FrameView.h:
7794
77952011-02-04  Charlie Reis  <creis@chromium.org>
7796
7797        Reviewed by Mihai Parparita.
7798
7799        Crash in WebCore::HistoryController::itemsAreClones
7800        https://bugs.webkit.org/show_bug.cgi?id=52819
7801
7802        Avoids deleting the current HistoryItem while it is still in use.
7803        Ensures that provisional items are committed for same document navigations.
7804        Ensures that error pages are committed on back/forward navigations.
7805        Also removes unneeded sanity checks used for diagnosing the problem.
7806
7807        * loader/HistoryController.cpp:
7808        * loader/HistoryController.h:
7809
78102011-02-04  Carol Szabo  <carol.szabo@nokia.com>
7811
7812        Reviewed by David Hyatt.
7813
7814        Code Changes.
7815
7816        CSS 2.1 failure: content-*
7817        https://bugs.webkit.org/show_bug.cgi?id=52126
7818
7819        Test: fast/css/counters/content-021.html
7820
7821        * rendering/CounterNode.cpp:
7822        (showCounterTree):
7823        Made parameter const because it is supposed to be so.
7824        * rendering/RenderCounter.cpp:
7825        (WebCore::previousInPreOrder):
7826        (WebCore::previousSiblingOrParent):
7827        (WebCore::parentElement):
7828        (WebCore::areRenderersElementsSiblings):
7829        (WebCore::nextInPreOrder):
7830        Added these local helper functions to help navigate the DOM tree
7831        enriched with :before and :after pseudo elements.
7832        (WebCore::planCounter):
7833        Fixed bug that would create a repeat counter for second and
7834        subsequent renderers associated with the same DOM element.
7835        (WebCore::findPlaceForCounter):
7836        (WebCore::makeCounterNode):
7837        Changed to use the new tree navigation functions described above
7838        instead of the Renderer Tree navigation functions.
7839        (WebCore::RenderCounter::rendererSubtreeAttached):
7840        (WebCore::RenderCounter::rendererStyleChanged):
7841        Optimized to not bother about counters until the renderers are
7842        finally attached.
7843        (showRendererTree):
7844        (showNodeTree):
7845        Debug helper functions used to debug Counter bugs.
7846
78472011-02-04  Dan Bernstein  <mitz@apple.com>
7848
7849        Typo fix.
7850
7851        * html/parser/XSSFilter.cpp:
7852        (WebCore::HTMLNames::containsJavaScriptURL):
7853
78542011-02-04  Dan Bernstein  <mitz@apple.com>
7855
7856        Reviewed by Anders Carlsson.
7857
7858        Make an infinite loop introduced in r77454 finite.
7859
7860        * html/parser/XSSFilter.cpp:
7861        (WebCore::HTMLNames::containsJavaScriptURL):
7862
78632011-02-04  Jer Noble  <jer.noble@apple.com>
7864
7865        Reviewed by Eric Carlson.
7866
7867        Frame accurate seeking isn't always accurate
7868        https://bugs.webkit.org/show_bug.cgi?id=52697
7869
7870        Test: media/video-frame-accurate-seek.html
7871
7872        Make seeking slightly more accurate by rounding instead of truncating
7873        when converting from seconds-in-float to time/timeScale.
7874
7875        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
7876        (WebCore::MediaPlayerPrivateQTKit::createQTTime):
7877        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
7878        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::mediaTimeForTimeValue):
7879        * platform/graphics/win/QTMovie.cpp:
7880        (QTMovie::setCurrentTime):
7881
78822011-02-04  Jeremy Orlow  <jorlow@chromium.org>
7883
7884        Reviewed by Nate Chapin.
7885
7886        Second IndexedDB events overhaul patch
7887        https://bugs.webkit.org/show_bug.cgi?id=53813
7888
7889        If an IDBRequest has a IDBTransaction, it should propogate
7890        events through it. In order to do this, IDBRequest needs to
7891        hold a transaction frontend object rather than a backend one.
7892
7893        Test: storage/indexeddb/request-event-propagation.html
7894
7895        * storage/IDBCursor.cpp:
7896        (WebCore::IDBCursor::IDBCursor):
7897        * storage/IDBCursor.h:
7898        (WebCore::IDBCursor::create):
7899        * storage/IDBDatabase.cpp:
7900        (WebCore::IDBDatabase::setSetVersionTransaction):
7901        (WebCore::IDBDatabase::createObjectStore):
7902        (WebCore::IDBDatabase::deleteObjectStore):
7903        * storage/IDBDatabase.h:
7904        * storage/IDBIndex.cpp:
7905        (WebCore::IDBIndex::IDBIndex):
7906        (WebCore::IDBIndex::openCursor):
7907        (WebCore::IDBIndex::openKeyCursor):
7908        (WebCore::IDBIndex::get):
7909        (WebCore::IDBIndex::getKey):
7910        * storage/IDBIndex.h:
7911        (WebCore::IDBIndex::create):
7912        * storage/IDBObjectStore.cpp:
7913        (WebCore::IDBObjectStore::IDBObjectStore):
7914        (WebCore::IDBObjectStore::get):
7915        (WebCore::IDBObjectStore::add):
7916        (WebCore::IDBObjectStore::put):
7917        (WebCore::IDBObjectStore::deleteFunction):
7918        (WebCore::IDBObjectStore::createIndex):
7919        (WebCore::IDBObjectStore::deleteIndex):
7920        (WebCore::IDBObjectStore::openCursor):
7921        * storage/IDBObjectStore.h:
7922        (WebCore::IDBObjectStore::create):
7923        * storage/IDBRequest.cpp:
7924        (WebCore::IDBRequest::create):
7925        (WebCore::IDBRequest::IDBRequest):
7926        (WebCore::IDBRequest::resetReadyState):
7927        (WebCore::IDBRequest::onSuccess):
7928        (WebCore::IDBRequest::dispatchEvent):
7929        * storage/IDBRequest.h:
7930        * storage/IDBTransaction.cpp:
7931        (WebCore::IDBTransaction::IDBTransaction):
7932        (WebCore::IDBTransaction::objectStore):
7933        (WebCore::IDBTransaction::contextDestroyed):
7934        (WebCore::IDBTransaction::enqueueEvent):
7935        * storage/IDBTransaction.h:
7936        * storage/IDBTransaction.idl:
7937
79382011-02-04  Jeremy Orlow  <jorlow@chromium.org>
7939
7940        Reviewed by Nate Chapin.
7941
7942        First step towards event propogation within IndexedDB
7943        https://bugs.webkit.org/show_bug.cgi?id=53795
7944
7945        This is the first step towards implementing
7946        http://www.w3.org/Bugs/Public/show_bug.cgi?id=11348
7947        within IndexedDB. I've created a method that knows how
7948        to capture and bubble (based on Node's dispatchGenericEvent).
7949        I've then changed IDBRequest to use it.
7950
7951        The only functional change is that preventDefault now must
7952        be called in error events to prevent the transaction from
7953        being aborted. The tests reflect this change and there's one
7954        specific test to look at this behavior.
7955
7956        Test: storage/indexeddb/error-causes-abort-by-default.html
7957
7958        * storage/IDBAbortEvent.cpp:
7959        (WebCore::IDBAbortEvent::create):
7960        (WebCore::IDBAbortEvent::IDBAbortEvent):
7961        * storage/IDBAbortEvent.h:
7962        * storage/IDBCompleteEvent.cpp:
7963        (WebCore::IDBCompleteEvent::create):
7964        (WebCore::IDBCompleteEvent::IDBCompleteEvent):
7965        * storage/IDBCompleteEvent.h:
7966        * storage/IDBErrorEvent.cpp:
7967        (WebCore::IDBErrorEvent::IDBErrorEvent):
7968        * storage/IDBEvent.cpp:
7969        (WebCore::IDBEvent::IDBEvent):
7970        (WebCore::IDBEvent::dispatch):
7971        * storage/IDBEvent.h:
7972        * storage/IDBRequest.cpp:
7973        (WebCore::IDBRequest::dispatchEvent):
7974        * storage/IDBRequest.h:
7975        * storage/IDBSuccessEvent.cpp:
7976        (WebCore::IDBSuccessEvent::IDBSuccessEvent):
7977        * storage/IDBTransaction.cpp:
7978        (WebCore::IDBTransaction::onAbort):
7979        (WebCore::IDBTransaction::onComplete):
7980        * storage/IDBTransaction.h:
7981        (WebCore::IDBTransaction::backend):
7982        * storage/IDBTransactionBackendImpl.cpp:
7983        (WebCore::IDBTransactionBackendImpl::taskTimerFired):
7984
79852011-02-04  Daniel Cheng  <dcheng@chromium.org>
7986
7987        Reviewed by Dmitry Titov.
7988
7989        Clone WebClipboard to be frame-specific.
7990        https://bugs.webkit.org/show_bug.cgi?id=53727
7991
7992        For drop operations, Chrome currently snapshots the data and copies it
7993        into the renderer process. As we add more supported drag data types, the
7994        copy will become increasingly expensive. Instead, we'd like to snapshot
7995        data in the browser to reduce the amount of data copied and to support
7996        Blob in DataTransferItem. In order to allow this, we associated
7997        WebClipboard with a frame so it can correctly route its IPCs to the
7998        corresponding Chromium host.
7999
8000        No new tests because no new functionality.
8001
8002        * platform/chromium/ChromiumDataObject.cpp:
8003        (WebCore::ChromiumDataObject::createReadable):
8004        * platform/chromium/ChromiumDataObject.h:
8005        * platform/chromium/ClipboardChromium.cpp:
8006        (WebCore::ClipboardChromium::create):
8007        * platform/chromium/PlatformBridge.h:
8008        * platform/chromium/ReadableDataObject.cpp:
8009        (WebCore::ReadableDataObject::create):
8010        (WebCore::ReadableDataObject::ReadableDataObject):
8011        (WebCore::ReadableDataObject::getData):
8012        (WebCore::ReadableDataObject::urlTitle):
8013        (WebCore::ReadableDataObject::htmlBaseUrl):
8014        (WebCore::ReadableDataObject::filenames):
8015        (WebCore::ReadableDataObject::ensureTypeCacheInitialized):
8016        * platform/chromium/ReadableDataObject.h:
8017
80182011-02-04  Jeremy Orlow  <jorlow@chromium.org>
8019
8020        Revert https://bugs.webkit.org/show_bug.cgi?id=53795
8021
8022        * storage/IDBAbortEvent.cpp:
8023        (WebCore::IDBAbortEvent::create):
8024        (WebCore::IDBAbortEvent::IDBAbortEvent):
8025        * storage/IDBAbortEvent.h:
8026        * storage/IDBCompleteEvent.cpp:
8027        (WebCore::IDBCompleteEvent::create):
8028        (WebCore::IDBCompleteEvent::IDBCompleteEvent):
8029        * storage/IDBCompleteEvent.h:
8030        * storage/IDBErrorEvent.cpp:
8031        (WebCore::IDBErrorEvent::IDBErrorEvent):
8032        * storage/IDBEvent.cpp:
8033        (WebCore::IDBEvent::IDBEvent):
8034        * storage/IDBEvent.h:
8035        * storage/IDBRequest.cpp:
8036        (WebCore::IDBRequest::dispatchEvent):
8037        * storage/IDBRequest.h:
8038        * storage/IDBSuccessEvent.cpp:
8039        (WebCore::IDBSuccessEvent::IDBSuccessEvent):
8040        * storage/IDBTransaction.cpp:
8041        (WebCore::IDBTransaction::onAbort):
8042        (WebCore::IDBTransaction::onComplete):
8043        * storage/IDBTransaction.h:
8044        * storage/IDBTransactionBackendImpl.cpp:
8045        (WebCore::IDBTransactionBackendImpl::taskTimerFired):
8046
80472011-02-04  Martin Galpin  <martin@66laps.com>
8048
8049        Reviewed by David Levin.
8050
8051        CORS origin header not set on GET when a preflight request is required.
8052        https://bugs.webkit.org/show_bug.cgi?id=50773
8053        
8054        Test: http/tests/xmlhttprequest/cross-origin-preflight-get.html
8055
8056        * loader/DocumentThreadableLoader.cpp:
8057        (WebCore::DocumentThreadableLoader::preflightSuccess): 
8058        Explicitly set the request origin after a preflight request succeeds.
8059
80602011-02-04  Jeremy Orlow  <jorlow@chromium.org>
8061
8062        Reviewed by Nate Chapin.
8063
8064        First step towards event propogation within IndexedDB
8065        https://bugs.webkit.org/show_bug.cgi?id=53795
8066
8067        This is the first step towards implementing
8068        http://www.w3.org/Bugs/Public/show_bug.cgi?id=11348
8069        within IndexedDB. I've created a method that knows how
8070        to capture and bubble (based on Node's dispatchGenericEvent).
8071        I've then changed IDBRequest to use it.
8072
8073        The only functional change is that preventDefault now must
8074        be called in error events to prevent the transaction from
8075        being aborted. The tests reflect this change and there's one
8076        specific test to look at this behavior.
8077
8078        Test: storage/indexeddb/error-causes-abort-by-default.html
8079
8080        * storage/IDBAbortEvent.cpp:
8081        (WebCore::IDBAbortEvent::create):
8082        (WebCore::IDBAbortEvent::IDBAbortEvent):
8083        * storage/IDBAbortEvent.h:
8084        * storage/IDBCompleteEvent.cpp:
8085        (WebCore::IDBCompleteEvent::create):
8086        (WebCore::IDBCompleteEvent::IDBCompleteEvent):
8087        * storage/IDBCompleteEvent.h:
8088        * storage/IDBErrorEvent.cpp:
8089        (WebCore::IDBErrorEvent::IDBErrorEvent):
8090        * storage/IDBEvent.cpp:
8091        (WebCore::IDBEvent::IDBEvent):
8092        (WebCore::IDBEvent::dispatch):
8093        * storage/IDBEvent.h:
8094        * storage/IDBRequest.cpp:
8095        (WebCore::IDBRequest::dispatchEvent):
8096        * storage/IDBRequest.h:
8097        * storage/IDBSuccessEvent.cpp:
8098        (WebCore::IDBSuccessEvent::IDBSuccessEvent):
8099        * storage/IDBTransaction.cpp:
8100        (WebCore::IDBTransaction::onAbort):
8101        (WebCore::IDBTransaction::onComplete):
8102        * storage/IDBTransaction.h:
8103        (WebCore::IDBTransaction::backend):
8104        * storage/IDBTransactionBackendImpl.cpp:
8105        (WebCore::IDBTransactionBackendImpl::taskTimerFired):
8106
81072011-02-04  Dimitri Glazkov  <dglazkov@chromium.org>
8108
8109        Reviewed by Csaba Osztrogonác.
8110
8111        [Qt]REGRESSION(r76951): media/controls-without-preload.html fails
8112        https://bugs.webkit.org/show_bug.cgi?id=53674
8113
8114        * css/mediaControlsQt.css:
8115
81162011-02-04  Dan Bernstein  <mitz@apple.com>
8117
8118        Reviewed by Darin Adler and Dave Hyatt.
8119
8120        <rdar://problem/8902704> Make ruby text size 50% by default
8121        https://bugs.webkit.org/show_bug.cgi?id=53723
8122
8123        * css/html.css:
8124        (ruby > rt): Changed the font-size from 60% to 50%.
8125
81262011-02-04  Antti Koivisto  <antti@apple.com>
8127
8128        Reviewed by Dimitri Glazkov.
8129
8130        https://bugs.webkit.org/show_bug.cgi?id=53610
8131        Regression: adjacent sibling selector not working as expected
8132        <rdar://problem/8960033>
8133        
8134        https://bugs.webkit.org/show_bug.cgi?id=53574
8135        REGRESSION (r76012): :last-child:after not working as expected
8136        <rdar://problem/8948643>
8137        
8138        Test for additional conditions in parent style that prevent sharing.
8139
8140        Tests: fast/selectors/style-sharing-adjacent-selector.html
8141               fast/selectors/style-sharing-last-child.html
8142
8143        * css/CSSStyleSelector.cpp:
8144        (WebCore::parentStylePreventsSharing):
8145        (WebCore::CSSStyleSelector::locateSharedStyle):
8146
81472011-02-04  Mark Mentovai  <mark@chromium.org>
8148
8149        Reviewed by Dimitri Glazkov.
8150
8151        Chromium GYP build fix.
8152
8153        When various settings were moved to webcore_prerequisites in r66364,
8154        things that should have been direct_dependent_settings were not marked
8155        as such. GYP 'defines', for example, make no sense on a 'none'-type
8156        target such as webcore_prerequisites. It appears that it was intended
8157        for these settings to be pushed to direct dependents, which would make
8158        direct_dependent_settings correct.
8159
8160        Losing the ChromiumWebCoreObjC defines on the Mac, for example, caused
8161        http://crbug.com/71537, which at best causes Mac console log spew, and
8162        at worst may result in Chromium's copy of WebCore using system
8163        definitions of certain Objective-C classes at runtime, or vice-versa.
8164
8165        The build now includes a postbuild step to prevent
8166        http://crbug.com/71537 from regressing again. The build will fail upon
8167        regression.
8168
8169        https://bugs.webkit.org/show_bug.cgi?id=53630
8170
8171        * WebCore.gyp/WebCore.gyp: Move things in webcore_prerequisites into
8172          direct_dependent_settings as needed, add the check_objc_rename
8173          postbuild step.
8174        * WebCore.gyp/mac/check_objc_rename.sh: Added.
8175
81762011-02-04  Robert Hogan  <robert@webkit.org>
8177
8178        Reviewed by Darin Fisher.
8179
8180        Move chromium iframe shim code to cross-platform file
8181        https://bugs.webkit.org/show_bug.cgi?id=52594
8182
8183        Move Chromium code for identifying and cutting out
8184        iframe shims from plugins to cross-platform utility file
8185        IFrameShimSupport.cpp.
8186        Amend PluginViewQt to use this code to handle shims correctly.
8187
8188        * WebCore.gypi: Add Chromium support for IFrameShimSupport.cpp
8189        * WebCore.pro: Add Qt support for IFrameShimSupport.cpp
8190        * plugins/IFrameShimSupport.cpp: Added.
8191        (WebCore::getObjectStack):
8192        (WebCore::iframeIsAbovePlugin):
8193        (WebCore::getPluginOcclusions):
8194        * plugins/IFframeShimSupport.h: Added.
8195        * plugins/qt/PluginViewQt.cpp:
8196        (WebCore::PluginView::setNPWindowIfNeeded):
8197
81982011-02-04  Xiaomei Ji  <xji@chromium.org>
8199
8200        Reviewed by David Levin.
8201
8202        Implement "<option> should implement the dir attribute" for chromium port after r76983.
8203        https://bugs.webkit.org/show_bug.cgi?id=50969
8204
8205        Use manual test Source/WebCore/manual-tests/pop-up-alignment-and-direction.html
8206        added in r76983.
8207
8208        * platform/chromium/PopupMenuChromium.cpp: Remove directionality hint from
8209        <select> drop-down setting.
8210        (WebCore::PopupListBox::paintRow): Use <option>'s directionality to paint
8211        items in drop-down and pass-in bidi override flag when creating text run.
8212        * platform/chromium/PopupMenuChromium.h: Remove directionalityHint from
8213        PopupContainerSettings.
8214
82152011-02-04  Jeremy Orlow  <jorlow@chromium.org>
8216
8217        Build fix from merge mistake.
8218
8219        * storage/IDBTransaction.cpp:
8220        (WebCore::IDBTransaction::ensureEventTargetData):
8221
82222011-02-04  Levi Weintraub  <leviw@chromium.org>
8223
8224        Reviewed by Darin Adler.
8225
8226        Remove unneeded function declarations in comments in EditorClient.h
8227        https://bugs.webkit.org/show_bug.cgi?id=53745
8228
8229        Removing unused commented out function declarations. No tests since this is just cleanup.
8230
8231        * page/EditorClient.h:
8232
82332011-02-03  Jeremy Orlow  <jorlow@chromium.org>
8234
8235        Reviewed by Nate Chapin.
8236
8237        Refactor IDBRequest and IDBTransaction a bit
8238        https://bugs.webkit.org/show_bug.cgi?id=53565
8239
8240        There were a lot of subtle issues with the way IDBTransaction
8241        and IDBRequest used to be written. This cleans a lot of them up
8242        and largely simplifies the logic. Using EventQueue rather than
8243        timers is one example of the simplification.
8244
8245        * bindings/scripts/CodeGeneratorV8.pm:
8246        * dom/EventQueue.cpp:
8247        (WebCore::EventQueue::enqueueEvent):
8248        (WebCore::EventQueue::dispatchEvent):
8249        * storage/IDBCursor.cpp:
8250        (WebCore::IDBCursor::continueFunction):
8251        * storage/IDBRequest.cpp:
8252        (WebCore::IDBRequest::create):
8253        (WebCore::IDBRequest::IDBRequest):
8254        (WebCore::IDBRequest::resetReadyState):
8255        (WebCore::IDBRequest::onError):
8256        (WebCore::IDBRequest::onSuccess):
8257        (WebCore::IDBRequest::dispatchEvent):
8258        (WebCore::IDBRequest::enqueueEvent):
8259        (WebCore::IDBRequest::eventTargetData):
8260        (WebCore::IDBRequest::ensureEventTargetData):
8261        * storage/IDBRequest.h:
8262        (WebCore::IDBRequest::dispatchEvent):
8263        * storage/IDBTransaction.cpp:
8264        (WebCore::IDBTransaction::create):
8265        (WebCore::IDBTransaction::IDBTransaction):
8266        (WebCore::IDBTransaction::objectStore):
8267        (WebCore::IDBTransaction::abort):
8268        (WebCore::IDBTransaction::onAbort):
8269        (WebCore::IDBTransaction::onComplete):
8270        (WebCore::IDBTransaction::onTimeout):
8271        (WebCore::IDBTransaction::canSuspend):
8272        (WebCore::IDBTransaction::stop):
8273        (WebCore::IDBTransaction::enqueueEvent):
8274        (WebCore::IDBTransaction::eventTargetData):
8275        (WebCore::IDBTransaction::ensureEventTargetData):
8276        * storage/IDBTransaction.h:
8277
82782011-02-01  Jeremy Orlow  <jorlow@chromium.org>
8279
8280        Reviewed by Nate Chapin.
8281
8282        Remove the timeout event from IndexedDB
8283        https://bugs.webkit.org/show_bug.cgi?id=53521
8284
8285        Remove timeout and ontimeout from IDBTransaction per the spec.
8286
8287        * WebCore.gypi:
8288        * storage/IDBDatabase.cpp:
8289        (WebCore::IDBDatabase::transaction):
8290        * storage/IDBDatabase.h:
8291        (WebCore::IDBDatabase::transaction):
8292        * storage/IDBDatabase.idl:
8293        * storage/IDBDatabaseBackendImpl.cpp:
8294        (WebCore::IDBDatabaseBackendImpl::setVersion):
8295        (WebCore::IDBDatabaseBackendImpl::transaction):
8296        * storage/IDBDatabaseBackendImpl.h:
8297        * storage/IDBDatabaseBackendInterface.h:
8298        * storage/IDBTimeoutEvent.cpp: Removed.
8299        * storage/IDBTimeoutEvent.h: Removed.
8300        * storage/IDBTransaction.cpp:
8301        (WebCore::IDBTransaction::IDBTransaction):
8302        (WebCore::IDBTransaction::onAbort):
8303        (WebCore::IDBTransaction::onComplete):
8304        * storage/IDBTransaction.h:
8305        * storage/IDBTransaction.idl:
8306        * storage/IDBTransactionBackendImpl.cpp:
8307        (WebCore::IDBTransactionBackendImpl::create):
8308        (WebCore::IDBTransactionBackendImpl::IDBTransactionBackendImpl):
8309        * storage/IDBTransactionBackendImpl.h:
8310        * storage/IDBTransactionCallbacks.h:
8311
83122011-02-04  Chris Fleizach  <cfleizach@apple.com>
8313
8314        Reviewed by Darin Adler.
8315
8316        AX: Can't set accessibility overridden attributes on web objects
8317        https://bugs.webkit.org/show_bug.cgi?id=53725
8318
8319        accessibilitySetOverriddenValue does not work on AX objects from WebCore because 
8320        the right method needed to be overridden (accessibilitySupportsOverriddenAttributes).
8321        Unfortunately, there's no way to test this from DRT, since AppKit returns the overridden
8322        attribute only when an AX client asks for it through the AX frameworks.
8323
8324        * accessibility/mac/AccessibilityObjectWrapper.mm:
8325        (-[AccessibilityObjectWrapper accessibilitySupportsOverriddenAttributes]):
8326
83272011-02-03  Dimitri Glazkov  <dglazkov@chromium.org>
8328
8329        Reviewed by Kent Tamura.
8330
8331        REGRESSION(r76147): Slider thumb is not repainted when let go outside of the slider track.
8332        https://bugs.webkit.org/show_bug.cgi?id=53691
8333
8334        Test: fast/repaint/slider-thumb-drag-release.html
8335
8336        * html/shadow/SliderThumbElement.cpp:
8337        (WebCore::SliderThumbElement::stopDragging): Added dirtying the layout bit to ensure
8338            that the thumb is repainted.
8339
83402011-02-04  Mikhail Naganov  <mnaganov@chromium.org>
8341
8342        Reviewed by Pavel Feldman.
8343
8344        Web Inspector: Add "show more" data grid node and waiting message UI components.
8345        https://bugs.webkit.org/show_bug.cgi?id=53763
8346
8347        - "show more" data grid node is used for on-demand population of
8348        data grid contents (similar to DOM tree capability for limiting
8349        displayed nodes count);
8350
8351        - waiting message is used for informing user about long lasting
8352        operations (with a possibility to cancel them).
8353
8354        * English.lproj/localizedStrings.js:
8355        * WebCore.gypi:
8356        * WebCore.vcproj/WebCore.vcproj:
8357        * inspector/front-end/PleaseWaitMessage.js: Added.
8358        (WebInspector.PleaseWaitMessage):
8359        * inspector/front-end/ShowMoreDataGridNode.js: Added.
8360        (WebInspector.ShowMoreDataGridNode):
8361        * inspector/front-end/WebKit.qrc:
8362        * inspector/front-end/inspector.css:
8363        (.data-grid button):
8364        (.please-wait-msg):
8365        * inspector/front-end/inspector.html:
8366
83672011-02-04  Adele Peterson  <adele@apple.com>
8368
8369        Reviewed by Dan Bernstein.
8370
8371        Fix for https://bugs.webkit.org/show_bug.cgi?id=53740
8372        <rdar://problem/8503629> Allow platforms to specify if the placeholder should be visible when text controls are focused
8373
8374        Tests:
8375        fast/forms/textarea-placeholder-visibility-1.html
8376        fast/forms/textarea-placeholder-visibility-2.html
8377        fast/forms/input-placeholder-visibility-1.html
8378        fast/forms/input-placeholder-visibility-2.html
8379        fast/forms/input-placeholder-visibility-3.html
8380
8381        * html/HTMLFormControlElement.cpp: (WebCore::HTMLTextFormControlElement::placeholderShouldBeVisible):
8382        Add a check for shouldShowPlaceholderWhenFocused.
8383        * html/HTMLTextAreaElement.cpp: (WebCore::HTMLTextAreaElement::updateValue):
8384        Whenever the value is updated, we should also update placeholder visibility.
8385        * rendering/RenderTheme.h: (WebCore::RenderTheme::shouldShowPlaceholderWhenFocused):
8386        Make the default the same as the existing behavior.
8387        * rendering/RenderThemeMac.h:
8388        * rendering/RenderThemeMac.mm: (WebCore::RenderThemeMac::shouldShowPlaceholderWhenFocused):
8389        Show placeholder when appropriate. 
8390
83912011-02-04  Pavel Podivilov  <podivilov@chromium.org>
8392
8393        Reviewed by Pavel Feldman.
8394
8395        Web Inspector: evaluate on hover does not work on a breakpoint.
8396        https://bugs.webkit.org/show_bug.cgi?id=53768
8397
8398        * inspector/front-end/SourceFrame.js:
8399        (WebInspector.SourceFrame.prototype._mouseHover):
8400
84012011-02-04  Sheriff Bot  <webkit.review.bot@gmail.com>
8402
8403        Unreviewed, rolling out r77625 and r77626.
8404        http://trac.webkit.org/changeset/77625
8405        http://trac.webkit.org/changeset/77626
8406        https://bugs.webkit.org/show_bug.cgi?id=53765
8407
8408        It broke Windows builds (Requested by Ossy_ on #webkit).
8409
8410        * Android.jscbindings.mk:
8411        * CMakeLists.txt:
8412        * ForwardingHeaders/pcre/pcre.h: Added.
8413        * ForwardingHeaders/yarr/Yarr.h: Removed.
8414        * ForwardingHeaders/yarr/YarrInterpreter.h: Removed.
8415        * ForwardingHeaders/yarr/YarrPattern.h: Removed.
8416        * WebCore.gyp/WebCore.gyp:
8417        * WebCore.pro:
8418        * WebCore.vcproj/WebCore.vcproj:
8419        * WebCore.vcproj/copyForwardingHeaders.cmd:
8420        * platform/text/RegularExpression.cpp:
8421        (WebCore::RegularExpression::Private::regexp):
8422        (WebCore::RegularExpression::Private::compile):
8423        (WebCore::RegularExpression::Private::Private):
8424        (WebCore::RegularExpression::Private::create):
8425        (WebCore::RegularExpression::Private::~Private):
8426        (WebCore::RegularExpression::match):
8427
84282011-02-04  Peter Varga  <pvarga@webkit.org>
8429
8430        Rubber-stamped by Csaba Osztrogonác.
8431
8432        Replace PCRE with Yarr in WebCore
8433        https://bugs.webkit.org/show_bug.cgi?id=53496
8434
8435        Speculative windows build fix.
8436
8437        No new tests needed.
8438
8439        * platform/text/RegularExpression.cpp:
8440
84412011-02-04  Peter Varga  <pvarga@webkit.org>
8442
8443
8444        Reviewed by Gavin Barraclough.
8445
8446        Replace PCRE with Yarr in WebCore
8447        https://bugs.webkit.org/show_bug.cgi?id=53496
8448
8449        No new tests needed.
8450
8451        * Android.jscbindings.mk:
8452        * CMakeLists.txt:
8453        * ForwardingHeaders/pcre/pcre.h: Removed.
8454        * ForwardingHeaders/yarr/Yarr.h: Added.
8455        * ForwardingHeaders/yarr/YarrInterpreter.h: Added.
8456        * ForwardingHeaders/yarr/YarrPattern.h: Added.
8457        * WebCore.gyp/WebCore.gyp:
8458        * WebCore.pro:
8459        * WebCore.vcproj/WebCore.vcproj:
8460        * WebCore.vcproj/copyForwardingHeaders.cmd:
8461        * platform/text/RegularExpression.cpp:
8462        (WebCore::RegularExpression::Private::create):
8463        (WebCore::RegularExpression::Private::Private):
8464        (WebCore::RegularExpression::Private::compile):
8465        (WebCore::RegularExpression::match):
8466
84672011-02-04  Pavel Feldman  <pfeldman@chromium.org>
8468
8469        Reviewed by Yury Semikhatsky.
8470
8471        Web Inspector: Network panel filtering is broken.
8472        https://bugs.webkit.org/show_bug.cgi?id=53764
8473
8474        * inspector/front-end/NetworkPanel.js:
8475        (WebInspector.NetworkPanel.prototype._sortItems):
8476        (WebInspector.NetworkPanel.prototype._sortByTimeline):
8477        (WebInspector.NetworkPanel.prototype._filter):
8478        (WebInspector.NetworkPanel.prototype._updateOffscreenRows):
8479        (WebInspector.NetworkDataGridNode.prototype.isFilteredOut):
8480        (WebInspector.NetworkDataGridNode.prototype.get selectable):
8481        (WebInspector.NetworkTotalGridNode.prototype.isFilteredOut):
8482        (WebInspector.NetworkTotalGridNode.prototype.get selectable):
8483
84842011-02-04  Andrey Kosyakov  <caseq@chromium.org>
8485
8486        Reviewed by Pavel Feldman.
8487
8488        Web Inspector: support overriding user agent strings
8489        https://bugs.webkit.org/show_bug.cgi?id=51485
8490
8491        Test: http/tests/inspector/extensions-useragent.html
8492
8493        * inspector/Inspector.idl:
8494        * inspector/InspectorController.cpp:
8495        (WebCore::InspectorController::disconnectFrontend):
8496        (WebCore::InspectorController::setUserAgentOverride):
8497        (WebCore::InspectorController::userAgentOverride):
8498        * inspector/InspectorController.h:
8499        * inspector/front-end/ExtensionAPI.js:
8500        (WebInspector.injectedExtensionAPI.InspectedWindow.prototype.reload):
8501        * inspector/front-end/ExtensionServer.js:
8502        (WebInspector.ExtensionServer.prototype._onReload):
8503        * loader/FrameLoader.cpp:
8504        (WebCore::FrameLoader::userAgent):
8505        (WebCore::FrameLoader::applyUserAgent):
8506
85072011-02-04  Pavel Podivilov  <podivilov@chromium.org>
8508
8509        Reviewed by Pavel Feldman.
8510
8511        Web Inspector: scripts panel displays wrong file name after reload.
8512        https://bugs.webkit.org/show_bug.cgi?id=53761
8513
8514        * inspector/front-end/ScriptsPanel.js:
8515        (WebInspector.ScriptsPanel.prototype._resourceLoadingFinished):
8516
85172011-02-03  Yury Semikhatsky  <yurys@chromium.org>
8518
8519        Reviewed by Pavel Feldman.
8520
8521        Web Inspector: remove settings related methods from InspectorClient
8522        https://bugs.webkit.org/show_bug.cgi?id=53686
8523
8524        * WebCore.exp.in:
8525        * inspector/CodeGeneratorInspector.pm:
8526        * inspector/InspectorClient.h:
8527        * inspector/InspectorFrontendClientLocal.cpp:
8528        (WebCore::InspectorFrontendClientLocal::InspectorFrontendClientLocal):
8529        (WebCore::InspectorFrontendClientLocal::changeAttachedWindowHeight):
8530        (WebCore::InspectorFrontendClientLocal::restoreAttachedWindowHeight):
8531        * inspector/InspectorFrontendClientLocal.h: ports that provide in-process implementation of the inspector front-end can
8532        provide platform-specific settings accessor.
8533        (WebCore::InspectorFrontendClientLocal::Settings::Settings):
8534        (WebCore::InspectorFrontendClientLocal::Settings::~Settings):
8535        (WebCore::InspectorFrontendClientLocal::Settings::inspectorAttachedHeight):
8536        (WebCore::InspectorFrontendClientLocal::Settings::storeInspectorAttachedHeight):
8537        * loader/EmptyClients.h:
8538
85392011-02-03  Anton Muhin  <antonm@chromium.org>
8540
8541        Reviewed by Adam Barth.
8542
8543        [v8] frame several more JS code invocations into v8::TryCatch
8544        https://bugs.webkit.org/show_bug.cgi?id=53594
8545
8546        This patch is preemptive and adjusts v8 bindings code to forthcoming small change
8547        in v8::ThrowException---currently sometimes exceptions thrown by this method
8548        do not reach surrounding v8::TryCatch handler (see
8549        http://code.google.com/p/v8/issues/detail?id=1072 and
8550        http://codereview.chromium.org/6397011/).  Therefore the goal of this patch
8551        is to make forthcoming v8 roll as smooth as possible (alas, we'll still need
8552        one rebaseline as of now.)
8553
8554        * bindings/v8/V8Proxy.cpp:
8555        (WebCore::V8Proxy::runScript): Do not rely on empty handle as a signal of exception, wrap into v8::TryCatch instead
8556        * bindings/v8/V8WindowErrorHandler.cpp:
8557        (WebCore::V8WindowErrorHandler::callListenerFunction): Ditto
8558
85592011-02-03  Maciej Stachowiak  <mjs@apple.com>
8560
8561        Reviewed by Dan Bernstein.
8562
8563        WebKit2: Need WebKit2 equivalent of WebResourceLoadDelegate::willSendRequest in the Bundle
8564        https://bugs.webkit.org/show_bug.cgi?id=52897
8565        <rdar://problem/8898294>
8566
8567        * WebCore.exp.in: Add export now needed by WebKit2
8568
85692011-02-03  Victoria Kirst  <vrk@google.com>
8570
8571        Reviewed by James Robinson.
8572
8573        Replaces float literals with uniform values in shader code
8574        so that buggy drivers unable to parse float values in different
8575        locales will not produce a pink video.
8576
8577        [chromium] Fix pink video bug with gpu-acceleration enabled
8578        https://bugs.webkit.org/show_bug.cgi?id=53568
8579
8580        * platform/graphics/chromium/VideoLayerChromium.cpp:
8581        (WebCore::VideoLayerChromium::SharedValues::SharedValues):
8582        (WebCore::VideoLayerChromium::drawYUV):
8583        * platform/graphics/chromium/VideoLayerChromium.h:
8584        (WebCore::VideoLayerChromium::SharedValues::signAdjLocation):
8585
85862011-02-03  James Kozianski  <koz@chromium.org>
8587
8588        Reviewed by Dimitri Glazkov.
8589
8590        Add navigator.registerProtocolHandler behind a flag.
8591        https://bugs.webkit.org/show_bug.cgi?id=52609
8592
8593        This method is described in the HTML5 specification here,
8594        http://dev.w3.org/html5/spec/Overview.html#dom-navigator-registerprotocolhandler
8595
8596        This change is largely cribbed from B. Green's 29651 patches. It is
8597        behind a flag so as not to break JS feature detection.
8598
8599        New layout test fast/dom/registerProtocolHandler.html.
8600
8601        * Configurations/FeatureDefines.xcconfig:
8602        * loader/EmptyClients.h:
8603        (WebCore::EmptyChromeClient::registerProtocolHandler):
8604        * page/Chrome.cpp:
8605        (WebCore::Chrome::registerProtocolHandler):
8606        * page/Chrome.h:
8607        * page/ChromeClient.h:
8608        * page/Navigator.cpp:
8609        (WebCore::verifyCustomHandlerURL):
8610        (WebCore::verifyProtocolHandlerScheme):
8611        (WebCore::Navigator::registerProtocolHandler):
8612        * page/Navigator.h:
8613        * page/Navigator.idl:
8614
86152011-02-03  Brian Ryner  <bryner@chromium.org>
8616
8617        Reviewed by Darin Fisher.
8618
8619        Add a field to the ResourceResponse for tracking the socket address
8620        of the host that the resource was fetched from.  Patch was originally
8621        by Paul Marks.
8622        https://bugs.webkit.org/show_bug.cgi?id=53699
8623
8624        * platform/network/chromium/ResourceResponse.cpp:
8625        (WebCore::ResourceResponse::doPlatformCopyData):
8626        (WebCore::ResourceResponse::doPlatformAdopt):
8627        * platform/network/chromium/ResourceResponse.h:
8628        (WebCore::ResourceResponse::socketAddress):
8629        (WebCore::ResourceResponse::setSocketAddress):
8630
86312011-02-03  Adam Langley  <agl@chromium.org>
8632
8633        Reviewed by Adam Barth.
8634
8635        Plumb mixed script URL to FrameLoaderClient
8636        https://bugs.webkit.org/show_bug.cgi?id=52384
8637
8638        Regressions covered by http/tests/security/mixedContent/*
8639
8640        * loader/EmptyClients.h:
8641        (WebCore::EmptyFrameLoaderClient::didRunInsecureContent):
8642        * loader/FrameLoader.cpp:
8643        (WebCore::FrameLoader::checkIfRunInsecureContent):
8644        * loader/FrameLoaderClient.h:
8645
86462011-02-03  Simon Fraser  <simon.fraser@apple.com>
8647
8648        Reviewed by Dan Bernstein.
8649
8650        REGRESSION: Artifacts on box-shadow corners in some cases
8651        https://bugs.webkit.org/show_bug.cgi?id=53731
8652
8653        Fix overdrawing artifacts in ShadowBlur's tiling code path,
8654        which show up in shadows using a color with alpha.
8655        
8656        Test: fast/box-shadow/shadow-tiling-artifact.html
8657
8658        * platform/graphics/ShadowBlur.cpp:
8659        (WebCore::ShadowBlur::drawRectShadowWithTiling): Ensure
8660        that the inner rect that gets filled does not overlap with any
8661        of the eight tiled areas by having the corner and side dimensions
8662        be the same for contiguous areas.
8663
86642011-02-03  Adam Barth  <abarth@webkit.org>
8665
8666        Reviewed by Alexey Proskuryakov.
8667
8668        XSS Auditor is spinning inside decodeURLEscapeSequences() if there are
8669        percent signs in large posted data
8670        https://bugs.webkit.org/show_bug.cgi?id=53405
8671
8672        If the input string contains many non-% characters followed by a %
8673        character that is not a valid URL escape sequence, then the old
8674        algorithm would only advance the initial search by one character
8675        (instead of jumping to just after the % character).  That would cause
8676        the algorithm to take N^2 time (in the number of characters before the
8677        first % character).  This patch just advances the search past the first
8678        % character so we can start looking for next % character sooner.
8679
8680        * platform/KURL.cpp:
8681        (WebCore::decodeURLEscapeSequences):
8682
86832011-02-03  Pavel Podivilov  <podivilov@chromium.org>
8684
8685        Reviewed by Pavel Feldman.
8686
8687        Web Inspector: click on a breakpoint highlights wrong line in source frame.
8688        https://bugs.webkit.org/show_bug.cgi?id=53692
8689
8690        * inspector/front-end/BreakpointsSidebarPane.js:
8691        (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._setupBreakpointElement):
8692
86932011-02-03  Anton Muhin  <antonm@chromium.org>
8694
8695        Reviewed by Adam Barth.
8696
8697        [v8] Bail out if to string conversion returned empty handle
8698        https://bugs.webkit.org/show_bug.cgi?id=53687
8699
8700        This a temporary measure: actually one probably should never get empty handle
8701        if there was no exception.  The root cause is under investigation.
8702        The bailout though allows Chromium not to crash---attempt to convert an empty
8703        v8 hande into WebCore string crashes with invalid memory access.
8704
8705        See http://code.google.com/p/chromium/issues/detail?id=71544
8706
8707        There is no known reduction expressible as a layout test so far.  The crash found with automated testing tools.
8708
8709        * bindings/v8/V8Binding.cpp:
8710        (WebCore::v8NonStringValueToWebCoreString): Bail out on empty handle
8711        * bindings/v8/V8Binding.h:
8712        (WebCore::V8ParameterBase::prepareBase): Ditto
8713
87142011-02-03  Adam Barth  <abarth@webkit.org>
8715
8716        Attempt to fix Chromium build.
8717
8718        * html/parser/XSSFilter.cpp:
8719
87202011-02-03  Dirk Pranke  <dpranke@chromium.org>
8721
8722        Unreviewed, rolling out r77562.
8723        http://trac.webkit.org/changeset/77562
8724        https://bugs.webkit.org/show_bug.cgi?id=53630
8725
8726        broke chromium mac build
8727
8728        * WebCore.gyp/WebCore.gyp:
8729        * WebCore.gyp/mac/check_objc_rename.sh: Removed.
8730
87312011-02-03  Adam Barth  <abarth@webkit.org>
8732
8733        Reviewed by Daniel Bates.
8734
8735        XSS Auditor severely affects loading performance after submitting a large form
8736        https://bugs.webkit.org/show_bug.cgi?id=49845
8737
8738        Switch over from the XSSAuditor to the XSSFilter, improving performance
8739        on this example.
8740
8741        * html/parser/XSSFilter.cpp:
8742        (WebCore::XSSFilter::filterToken):
8743        * page/XSSAuditor.cpp:
8744        (WebCore::XSSAuditor::isEnabled):
8745
87462011-02-03  Dirk Pranke  <dpranke@chromium.org>
8747
8748        Unreviewed, rolling out r77567.
8749        http://trac.webkit.org/changeset/77567
8750        https://bugs.webkit.org/show_bug.cgi?id=53468
8751
8752        broke chromium linux svg, canvas tests, possibly win also?
8753
8754        * platform/graphics/skia/ImageBufferSkia.cpp:
8755        (WebCore::getImageData):
8756        (WebCore::ImageBuffer::getUnmultipliedImageData):
8757        (WebCore::ImageBuffer::getPremultipliedImageData):
8758        (WebCore::putImageData):
8759        (WebCore::ImageBuffer::putUnmultipliedImageData):
8760        (WebCore::ImageBuffer::putPremultipliedImageData):
8761
87622011-02-02  MORITA Hajime  <morrita@google.com>
8763
8764        Reviewed by Dimitri Glazkov.
8765
8766        Refactoring: <progress> should not use ShadowElement
8767        https://bugs.webkit.org/show_bug.cgi?id=53583
8768
8769        - Introduced RenderIndicatorPart and RenderProgressBarValuePart
8770          to be responsible for bar-part layout,
8771          which adopted layout logic from ShadowBlockElement.
8772        - ProgressBarValueElement is no longer a subclass of ShadowBlockElement.
8773        - Remove dependency from RenderProgress to HTMLProgressElement and
8774          ShadowBlockElement.
8775        - The shadow tree is no longer removed on detach(). It becomes persistent.
8776          This is now possible because the ShadowBlockElement dependency is gone.
8777        - ::-webkit-appearance for -webkit-progress-bar-value is no longer referred.
8778          That didn't make sense.
8779
8780        * html/HTMLProgressElement.cpp:
8781        (WebCore::HTMLProgressElement::createShadowSubtreeIfNeeded):
8782        * html/HTMLProgressElement.h:
8783        * html/shadow/ProgressBarValueElement.h: Added.
8784        (WebCore::ProgressBarValueElement::ProgressBarValueElement):
8785        (WebCore::ProgressBarValueElement::shadowPseudoId):
8786        (WebCore::ProgressBarValueElement::createRenderer):
8787        (WebCore::ProgressBarValueElement::create):
8788        * rendering/RenderIndicator.cpp:
8789        (WebCore::RenderIndicatorPart::RenderIndicatorPart):
8790        (WebCore::RenderIndicatorPart::~RenderIndicatorPart):
8791        (WebCore::RenderIndicatorPart::layout):
8792        (WebCore::RenderIndicatorPart::styleDidChange):
8793        * rendering/RenderIndicator.h: Added RenderIndicatorPart class
8794        (WebCore::RenderIndicatorPart::originalVisibility):
8795        (WebCore::RenderIndicatorPart::requiresForcedStyleRecalcPropagation):
8796        (WebCore::RenderIndicatorPart::canHaveChildren):
8797        * rendering/RenderProgress.cpp:
8798        (WebCore::RenderProgressBarValuePart::preferredFrameRect):
8799        (WebCore::RenderProgressBarValuePart::shouldBeHidden):
8800        (WebCore::RenderProgress::updateFromElement):
8801        (WebCore::RenderProgress::layoutParts):
8802        (WebCore::RenderProgress::shouldHaveParts):
8803        * rendering/RenderProgress.h:
8804        (WebCore::RenderProgressBarValuePart::RenderProgressBarValuePart):
8805
88062011-02-03  Jia Pu  <jpu@apple.com>
8807
8808        Reversion should not be marked as misspelled.
8809        https://bugs.webkit.org/show_bug.cgi?id=53255
8810
8811        This patch includes fix for reported bug, and also some housekeeping changes.
8812
8813        To implement desired behavior, we need:
8814        1. Add a new marker type, SpellCheckingExemption, since now we distingusish between text
8815           that shouldn't be spellchecked and text shouldn't be autocorrected.
8816        2. Make sure that there is no pending correction panel when we enter markAllMisspellingsAndBadGrammarInRanges().
8817           Otherwise the spell checking code in that function may interfere with autocorrection. This
8818           is achieved by explicitly applying pending correction when user types space, line break or
8819           paragraph break.
8820
8821        Housekeeping code changes include:
8822        1. Change manual-tests that were broken by relocated WebCore directory.
8823        2. Use TextIterator in various DocumentMarkerController functions instead of using
8824           Node::traverseNextNode() directly.
8825        3. Allow passing multiple marker types into DocumentMarkerController::removeMarkers() and
8826           DocumentMarkerController::hasMarkers() to improve clarity and efficiency.
8827        4. Fixes of minor bugs that were exposed previously.
8828
8829        * WebCore.exp.in: Change signature of DocumentMarkerController::removeMarkers().
8830
8831        * dom/DocumentMarker.h: Added new marker type SpellCheckingExemption.
8832
8833        * dom/DocumentMarkerController.cpp:
8834        (WebCore::DocumentMarkerController::removeMarkers): Use TextIterator to scan the range to be
8835           consistent with addMarker() function. Allow passing in multiple marker types in one call.
8836           Added a boolean argument to specify the behavior when removing markers that partially
8837           overlap the specified range.
8838        (WebCore::DocumentMarkerController::removeMarkersFromMarkerMapVectorPair): Allow passing in
8839           multiple marker types in one call.
8840        (WebCore::DocumentMarkerController::hasMarkers): Use TextIterator to scan the range to be
8841           consistent with addMarker() function. Allow passing in multiple marker types in one call.
8842
8843        * dom/DocumentMarkerController.h: Allow passing in multiple marker types to removeMarkers()
8844           and hasMarkers(). Added a boolean argument to removeMarkers() to specify the behavior when
8845           removing markers that partially overlap the specified range.
8846
8847        * editing/Editor.cpp:
8848        (WebCore::markerTypesForAutocorrection): Add SpellCheckingExemption marker when apply correction.
8849        (WebCore::markerTypesForReplacement): Ditto.
8850        (WebCore::Editor::respondToChangedSelection): Reordered call to dismissCorrectionPanel() and
8851           setSelection() to make sure there is no pending correction when entering
8852           markAllMisspellingsAndBadGrammarInRanges().
8853        (WebCore::Editor::appliedEditing): Only remove CorrectionIndicator markers when the command
8854           is a top level command to improve efficiency.
8855        (WebCore::Editor::insertTextWithoutSendingTextEvent): Added code to applying pending correction.
8856        (WebCore::Editor::insertLineBreak): Ditto.
8857        (WebCore::Editor::insertParagraphSeparator): Ditto.
8858        (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): Don't mark mispelling if the
8859           text carries SpellCheckingExemption marker.
8860        (WebCore::Editor::correctionPanelTimerFired): Reset correction panel if the returned suggestion
8861           from spellchecker is an empty string.
8862        (WebCore::Editor::removeSpellAndCorrectionMarkersFromWordsToBeEdited):
8863           Use new DocumentMarkerController::removeMarkers() to replace custom implemenation to improve
8864           efficiency and readability.
8865        (WebCore::Editor::applyCorrectionPanelInfo): Remove the code that set caret position after
8866           applying correction, since it's unnecessary. Also, store pre-correction string together with
8867           the marker for reversion panel to use.
8868        (WebCore::Editor::applyAutocorrectionBeforeTypingIfAppropriate): Apply pending correction.
8869        (WebCore::Editor::changeSelectionAfterCommand): Moved marker removal code to Editor::appliedEditing()
8870           where we have access to EditCommand object.
8871
8872        * editing/Editor.h: Added new function applyAutocorrectionAfterTypingIfAppropriate().
8873
8874        * manual-tests/autocorrection/autocorrection-cancelled-by-ESC.html: Change manual-tests that
8875           were broken by relocated WebCore directory.
8876
8877        * manual-tests/autocorrection/autocorrection-cancelled-by-typing-1.html: Ditto.
8878
8879        * manual-tests/autocorrection/autocorrection-contraction.html: Ditto.
8880
8881        * manual-tests/autocorrection/continue-typing-to-dismiss-reversion.html: Ditto.
8882
8883        * manual-tests/autocorrection/delete-to-dismiss-reversion.html: Ditto.
8884
8885        * manual-tests/autocorrection/delete-to-end-of-word-to-show-reversion.html: Ditto.
8886
8887        * manual-tests/autocorrection/dismiss-multiple-guesses.html: Ditto.
8888
8889        * manual-tests/autocorrection/move-to-end-of-word-to-show-reversion.html: Ditto.
8890
8891        * manual-tests/autocorrection/select-from-multiple-guesses.html: Ditto.
8892
8893        * manual-tests/autocorrection/spell-checking-after-reversion.html: Added.
8894
8895        * manual-tests/autocorrection/type-whitespace-to-dismiss-reversion.html: Change manual-tests that
8896           were broken by relocated WebCore directory.
8897
8898        * rendering/InlineTextBox.cpp:
8899        (WebCore::InlineTextBox::paintDocumentMarkers): Code clean-up to be more concise.
8900
89012011-02-03  Abhishek Arya  <inferno@chromium.org>
8902
8903        Unreviewed, qt build fix.
8904
8905        * rendering/RenderBlock.cpp:
8906        (WebCore::RenderBlock::removeFloatingObject):
8907
89082011-02-03  Brian Salomon  <bsalomon@google.com>
8909
8910        Reviewed by James Robinson.
8911
8912        Handle non-raster backed images in getUnmultipliedImageData()
8913        https://bugs.webkit.org/show_bug.cgi?id=53468
8914
8915        No new tests. Existing canvas tests sufficient
8916        LayoutTests/canvas/philip/...
8917
8918        * platform/graphics/skia/ImageBufferSkia.cpp:
8919        (WebCore::getImageData):
8920        (WebCore::ImageBuffer::getUnmultipliedImageData):
8921        (WebCore::ImageBuffer::getPremultipliedImageData):
8922        (WebCore::putImageData):
8923        (WebCore::ImageBuffer::putUnmultipliedImageData):
8924        (WebCore::ImageBuffer::putPremultipliedImageData):
8925
89262011-02-03  Abhishek Arya  <inferno@chromium.org>
8927
8928        Reviewed by James Robinson.
8929
8930        Enforce more limits on root inline boxes height calculations.
8931        https://bugs.webkit.org/show_bug.cgi?id=53729
8932
8933        Test: fast/overflow/overflow-height-float-not-removed-crash.html
8934
8935        * rendering/RenderBlock.cpp:
8936        (WebCore::RenderBlock::removeFloatingObject): prevent logicalBottom to
8937        become negative when logicalTop is INT_MAX.
8938        (WebCore::RenderBlock::markLinesDirtyInBlockRange): when logicalBottom
8939        is INT_MAX, we should dirty everything. So, we bail out to make
8940        afterLowest equal to the lastRootBox() or lowestDirstLine.
8941
89422011-02-03  David Levin  <levin@chromium.org>
8943
8944        Reviewed by Adam Barth and Oliver Hunt.
8945
8946        Worker.importScript() should clean errors for cross origin imports.
8947        https://bugs.webkit.org/show_bug.cgi?id=52871
8948
8949        Test: http/tests/workers/worker-importScriptsOnError.html
8950
8951        * bindings/js/WorkerScriptController.cpp:
8952        (WebCore::WorkerScriptController::evaluate): Use sanitizeScriptError
8953        to determine when to create a clean exception.
8954        * bindings/v8/WorkerContextExecutionProxy.cpp:
8955        (WebCore::WorkerContextExecutionProxy::evaluate): Ditto.
8956        * dom/ScriptExecutionContext.cpp:
8957        (WebCore::ScriptExecutionContext::sanitizeScriptError): Figure out
8958        if the error needs to be cleaned up.
8959        (WebCore::ScriptExecutionContext::dispatchErrorEvent): Extracted
8960        sanitizeScriptError for use by other places.
8961        * dom/ScriptExecutionContext.h:
8962        * workers/WorkerContext.cpp:
8963        (WebCore::WorkerContext::importScripts): Use the reponse url when
8964        telling the evaluate where the script came fro.
8965        * workers/WorkerScriptLoader.cpp:
8966        (WebCore::WorkerScriptLoader::responseURL): Expose the url that
8967        the script was loaded from (which may be different from url() due
8968        to redirects).
8969        (WebCore::WorkerScriptLoader::didReceiveResponse): Capture the reponse url.
8970        * workers/WorkerScriptLoader.h:
8971
89722011-02-03  Mark Mentovai  <mark@chromium.org>
8973
8974        Reviewed by Dimitri Glazkov.
8975
8976        Chromium GYP build fix.
8977
8978        When various settings were moved to webcore_prerequisites in r66364,
8979        things that should have been direct_dependent_settings were not marked
8980        as such. GYP 'defines', for example, make no sense on a 'none'-type
8981        target such as webcore_prerequisites. It appears that it was intended
8982        for these settings to be pushed to direct dependents, which would make
8983        direct_dependent_settings correct.
8984
8985        Losing the ChromiumWebCoreObjC defines on the Mac, for example, caused
8986        http://crbug.com/71537, which at best causes Mac console log spew, and
8987        at worst may result in Chromium's copy of WebCore using system
8988        definitions of certain Objective-C classes at runtime, or vice-versa.
8989
8990        The build now includes a postbuild step to prevent
8991        http://crbug.com/71537 from regressing again. The build will fail upon
8992        regression.
8993
8994        https://bugs.webkit.org/show_bug.cgi?id=53630
8995
8996        * WebCore.gyp/WebCore.gyp: Move things in webcore_prerequisites into
8997          direct_dependent_settings as needed, add the check_objc_rename
8998          postbuild step.
8999        * WebCore.gyp/mac/check_objc_rename.sh: Added.
9000
90012011-02-03  Adam Barth  <abarth@webkit.org>
9002
9003        Reviewed by Eric Seidel.
9004
9005        Make XSSFilter go fast by adding a SuffixTree
9006        https://bugs.webkit.org/show_bug.cgi?id=53665
9007
9008        The SuffixTree lets us quickly reject snippets if the POST data is
9009        large (because we can avoid a linear scan over the POST data).
9010
9011        * html/parser/XSSFilter.cpp:
9012        (WebCore::XSSFilter::init):
9013        (WebCore::XSSFilter::isContainedInRequest):
9014        * html/parser/XSSFilter.h:
9015
90162011-02-03  Mihai Parparita  <mihaip@chromium.org>
9017
9018        Reviewed by Alexey Proskuryakov.
9019
9020        REGRESSION (r77355): Page cache layout tests crash
9021        https://bugs.webkit.org/show_bug.cgi?id=53648
9022
9023        Test: fast/events/pagehide-timeout.html
9024        
9025        Suspend active DOM objects after all pagehide event handlers have run,
9026        otherwise it's possible for them to create more objects that weren't
9027        getting suspended.
9028
9029        * history/CachedFrame.cpp:
9030        (WebCore::CachedFrame::CachedFrame):
9031
90322011-02-03  Jeremy Orlow  <jorlow@chromium.org>
9033
9034        Reviewed by Nate Chapin.
9035
9036        SerializedScriptValue should not require v8 to create undefined and null values
9037        https://bugs.webkit.org/show_bug.cgi?id=53730
9038
9039        Instead of creating a v8 type and passing that into the constructor, just use
9040        the writer class directly. While I was at it, I cleaned up the code a bit too
9041        by getting rid of the WireData/StringValue enum as I found that personally
9042        confusing.
9043
9044        This is necessary because these methods are called by IndexedDB in the browser
9045        process where v8 is not spun up.
9046
9047        No functionality changed and not possible to test.
9048
9049        * bindings/v8/SerializedScriptValue.cpp:
9050        (WebCore::SerializedScriptValue::createFromWire):
9051        (WebCore::SerializedScriptValue::create):
9052        (WebCore::SerializedScriptValue::nullValue):
9053        (WebCore::SerializedScriptValue::undefinedValue):
9054        (WebCore::SerializedScriptValue::release):
9055        (WebCore::SerializedScriptValue::SerializedScriptValue):
9056        * bindings/v8/SerializedScriptValue.h:
9057
90582011-02-03  Beth Dakin  <bdakin@apple.com>
9059
9060        Reviewed by Sam Weinig.
9061
9062        Fix for <rdar://problem/8944544> Ability to animate track
9063        for WKPainter scrollers
9064
9065        Two new WebKitSystemInterface functions.
9066        * WebCore.exp.in:
9067        * platform/mac/WebCoreSystemInterface.h:
9068        * platform/mac/WebCoreSystemInterface.mm:
9069
9070        Use Scrollbar::convertFromContainingView() to return the right point.
9071        * platform/mac/ScrollAnimatorMac.mm:
9072        (-[ScrollbarPainterControllerDelegate scrollerImpPair:convertContentPoint:toScrollerImp:]):
9073        
9074        ScrollKnobAnimation is now ScrollbarPartAnimation. It can
9075        now be used to animate the knob or the track.
9076        (-[ScrollbarPartAnimation initWithScrollbarPainter:part:WebCore::scrollAnimator:WebCore::animateAlphaTo:duration:]):
9077        (-[ScrollbarPartAnimation setCurrentProgress:]):
9078        (-[ScrollbarPainterDelegate setUpAnimation:scrollerPainter:part:WebCore::animateAlphaTo:duration:]):
9079        (-[ScrollbarPainterDelegate scrollerImp:animateKnobAlphaTo:duration:]):
9080        (-[ScrollbarPainterDelegate scrollerImp:animateTrackAlphaTo:duration:]):
9081
9082        Scrollbars need invalodating after the overlay state changes. 
9083        (-[ScrollbarPainterDelegate scrollerImp:overlayScrollerStateChangedTo:]):
9084
90852011-02-03  Sam Weinig  <sam@webkit.org>
9086
9087        Reviewed by Beth Dakin.
9088
9089        Scroll thumb jumps to top when resizing horizontally.
9090
9091        * platform/ScrollView.cpp:
9092        (WebCore::ScrollView::updateScrollbars): Add call to update
9093        the scrollbar's offset in the case where we may have created
9094        a new scrollbar but have not changed the current position.
9095
90962011-02-03  Justin Schuh  <jschuh@chromium.org>
9097
9098        Reviewed by Dirk Schulze.
9099
9100        startAnimations should use a local, RefCounted Vector.
9101        https://bugs.webkit.org/show_bug.cgi?id=53458
9102
9103        Test: svg/custom/use-animation-in-fill.html
9104
9105        * svg/SVGDocumentExtensions.cpp:
9106        (WebCore::SVGDocumentExtensions::startAnimations):
9107
91082011-02-03  Adam Barth  <abarth@webkit.org>
9109
9110        Reviewed by Daniel Bates.
9111
9112        XSSFilter shouldn't bother to analyze pages without "injection"
9113        characters in the request
9114        https://bugs.webkit.org/show_bug.cgi?id=53664
9115
9116        If the request lacks these "injection" characters, then it's unlikely
9117        that there's a reflective XSS attack happening.  This hueristic lets us
9118        avoid analyzing the vast majority of responses for XSS.  Of course, the
9119        hueristic isn't perfect.  Because of this huerstic, we miss out on
9120        injections into unquoted attributes.  However, it's a trade-off that's
9121        worked well in the XSSAuditor.
9122
9123        * html/parser/XSSFilter.cpp:
9124        (WebCore::HTMLNames::isRequiredForInjection):
9125        (WebCore::XSSFilter::XSSFilter):
9126        (WebCore::XSSFilter::init):
9127        (WebCore::XSSFilter::filterToken):
9128        (WebCore::XSSFilter::isContainedInRequest):
9129        * html/parser/XSSFilter.h:
9130
91312011-02-03  Vangelis Kokkevis  <vangelis@chromium.org>
9132
9133        Reviewed by Kenneth Russell.
9134
9135        [chromium] Fixing a compositor crash occurring on layers
9136        without an associated RenderSurface.
9137        https://bugs.webkit.org/show_bug.cgi?id=53679
9138        Regression was introduced by in r77425 
9139
9140        Test: http://webkit.org/blog/386/3d-transforms/ doesn't crash
9141        anymore.
9142
9143        * platform/graphics/chromium/LayerRendererChromium.cpp:
9144        (WebCore::LayerRendererChromium::drawLayer):
9145
91462011-02-03  Dan Bernstein  <mitz@apple.com>
9147
9148        Reviewed by Anders Carlsson.
9149
9150        <rdar://problem/8948788> Text emphasis marks have wrong orientation for vertical text
9151        https://bugs.webkit.org/show_bug.cgi?id=53709
9152
9153        Covered by rendering of fast/text/emphasis-vertical.html
9154
9155        * platform/graphics/mac/SimpleFontDataMac.mm:
9156        (WebCore::SimpleFontData::scaledFontData): Give the scaled font the same orientation this font
9157        has.
9158
91592011-02-02  Levi Weintraub  <leviw@chromium.org>
9160
9161        Reviewed by Ryosuke Niwa.
9162
9163        Moving cursor down in table cycles at the end of a row
9164        https://bugs.webkit.org/show_bug.cgi?id=50012
9165
9166        Avoids a caret cycling issue with certain content (e.g. tables) found at the very
9167        end of a document due to a bug in nextLeafWithSameEditability.
9168
9169        Test: editing/selection/move-by-line-cycles-in-table.html
9170
9171        * editing/visible_units.cpp:
9172        (WebCore::nextLeafWithSameEditability): Properly avoid descending back into the
9173        original leaf node.
9174
91752011-02-03  Pavel Podivilov  <podivilov@chromium.org>
9176
9177        Reviewed by Pavel Feldman.
9178
9179        Web Inspector: remove dead code related to changes panel.
9180        https://bugs.webkit.org/show_bug.cgi?id=53688
9181
9182        * WebCore.gypi:
9183        * WebCore.vcproj/WebCore.vcproj:
9184        * inspector/front-end/ChangesView.js: Removed.
9185        * inspector/front-end/WebKit.qrc:
9186        * inspector/front-end/inspector.css:
9187        (#error-warning-count):
9188        (#error-warning-count:hover):
9189        (#error-count + #warning-count):
9190        * inspector/front-end/inspector.html:
9191        * inspector/front-end/inspector.js:
9192
91932011-02-02  Sam Weinig  <sam@webkit.org>
9194
9195        Reviewed by Anders Carlsson.
9196
9197        Add notification of the end of a rubber band.
9198        <rdar://problem/8940648>
9199
9200        * WebCore.exp.in:
9201        Add additional exprots.
9202
9203        * page/ChromeClient.h:
9204        (WebCore::ChromeClient::didCompleteRubberBandForMainFrame):
9205        * page/FrameView.cpp:
9206        (WebCore::FrameView::didCompleteRubberBand):
9207        * page/FrameView.h:
9208        * platform/ScrollView.cpp:
9209        (WebCore::ScrollView::didCompleteRubberBand):
9210        * platform/ScrollView.h:
9211        Add hook.
9212
9213        * platform/ScrollableArea.h:
9214        (WebCore::ScrollableArea::inLiveResize):
9215        (WebCore::ScrollableArea::maximumScrollPosition):
9216        (WebCore::ScrollableArea::visibleWidth):
9217        (WebCore::ScrollableArea::overhangAmount):
9218        (WebCore::ScrollableArea::didCompleteRubberBand):
9219        Reorganize and de-virtualize live resize notifications.
9220
9221        * platform/mac/ScrollAnimatorMac.mm:
9222        (WebCore::ScrollAnimatorMac::snapRubberBandTimerFired):
9223        Call the new hook when the rubberband ends.
9224
92252011-02-02  Evan Martin  <evan@chromium.org>
9226
9227        Reviewed by Tony Chang.
9228
9229        [chromium] complex joining characters positioned in wrong place
9230        https://bugs.webkit.org/show_bug.cgi?id=53637
9231
9232        Provide the correct font metrics to Harfbuzz related to the font design space.
9233        There are used in some fonts for GPOS positioning.
9234
9235        Test: platform/chromium-linux/fast/text/international/complex-joining-using-gpos.html
9236
9237        * platform/graphics/chromium/ComplexTextControllerLinux.cpp:
9238        (WebCore::ComplexTextController::setupFontForScriptRun):
9239        (WebCore::ComplexTextController::allocHarfbuzzFont):
9240        * platform/graphics/chromium/FontPlatformDataLinux.cpp:
9241        (WebCore::FontPlatformData::FontPlatformData):
9242        (WebCore::FontPlatformData::emSizeInFontUnits):
9243        (WebCore::FontPlatformData::operator=):
9244        * platform/graphics/chromium/FontPlatformDataLinux.h:
9245        (WebCore::FontPlatformData::FontPlatformData):
9246
92472011-02-02  Dimitri Glazkov  <dglazkov@chromium.org>
9248
9249        Reviewed by Kent Tamura.
9250
9251        REGRESSION(r76147): Slider thumb position is not updated when value attribute is changed.
9252        https://bugs.webkit.org/show_bug.cgi?id=53634
9253
9254        Test: fast/dom/HTMLInputElement/input-slider-update.html
9255
9256        * html/HTMLInputElement.cpp:
9257        (WebCore::HTMLInputElement::setValue): Added a call to InputType::valueChanged.
9258        * html/InputType.cpp:
9259        (WebCore::InputType::valueChanged): Added empty implementation.
9260        * html/InputType.h: Added def.
9261        * html/RangeInputType.cpp:
9262        (WebCore::RangeInputType::valueChanged): Added implementation that dirties layout
9263            bit on the thumb.
9264        * html/RangeInputType.h: Added def.
9265
92662011-02-02  Pavel Podivilov  <podivilov@chromium.org>
9267
9268        Reviewed by Pavel Feldman.
9269
9270        Web Inspector: do not share source frames between resources panel and scripts panel.
9271        https://bugs.webkit.org/show_bug.cgi?id=53584
9272
9273        Currently, we show error messages only for resources. This change will allow showing error
9274        messages in source frame even when resource is not available (eval scripts, inlined scripts).
9275
9276        * inspector/front-end/ConsoleView.js:
9277        (WebInspector.ConsoleView.prototype.addMessage):
9278        (WebInspector.ConsoleView.prototype.clearMessages):
9279        * inspector/front-end/ResourceView.js:
9280        (WebInspector.ResourceView.recreateResourceView):
9281        * inspector/front-end/ResourcesPanel.js:
9282        (WebInspector.FrameResourceTreeElement.prototype._setBubbleText):
9283        * inspector/front-end/ScriptsPanel.js:
9284        (WebInspector.ScriptsPanel.prototype._scriptSourceChanged):
9285        (WebInspector.ScriptsPanel.prototype.addConsoleMessage):
9286        (WebInspector.ScriptsPanel.prototype.clearConsoleMessages):
9287        (WebInspector.ScriptsPanel.prototype.reset):
9288        (WebInspector.ScriptsPanel.prototype._sourceFrameForScriptOrResource):
9289        (WebInspector.ScriptsPanel.prototype._sourceFrameForResource):
9290        (WebInspector.ScriptsPanel.prototype._sourceFrameForScript):
9291
92922011-02-03  Simon Fraser  <simon.fraser@apple.com>
9293
9294        Fix 32-bit builds.
9295
9296        * platform/graphics/ShadowBlur.cpp:
9297        (WebCore::ShadowBlur::blurLayerImage):
9298
92992011-02-03  Mikhail Naganov  <mnaganov@chromium.org>
9300
9301        Reviewed by Pavel Feldman.
9302
9303        Web Inspector: Add reporting of JS heap size limit to 'console.memory'.
9304        https://bugs.webkit.org/show_bug.cgi?id=53592
9305
9306        In JSC there is no limit, thus 'undefined' value is returned.
9307        For V8, the limit reported by the VM is returned.
9308
9309        * Android.jscbindings.mk:
9310        * CMakeLists.txt:
9311        * GNUmakefile.am:
9312        * WebCore.gypi:
9313        * WebCore.pro:
9314        * WebCore.vcproj/WebCore.vcproj:
9315        * WebCore.xcodeproj/project.pbxproj:
9316        * bindings/js/JSBindingsAllInOne.cpp:
9317        * bindings/js/JSMemoryInfoCustom.cpp: Added.
9318        * bindings/js/ScriptGCEvent.cpp:
9319        (WebCore::ScriptGCEvent::getHeapSize):
9320        * bindings/js/ScriptGCEvent.h:
9321        * bindings/v8/ScriptGCEvent.cpp:
9322        (WebCore::ScriptGCEvent::getHeapSize):
9323        * bindings/v8/ScriptGCEvent.h:
9324        * inspector/InspectorTimelineAgent.cpp:
9325        (WebCore::InspectorTimelineAgent::setHeapSizeStatistic):
9326        * page/MemoryInfo.cpp:
9327        (WebCore::MemoryInfo::MemoryInfo):
9328        * page/MemoryInfo.h:
9329        (WebCore::MemoryInfo::jsHeapSizeLimit):
9330        * page/MemoryInfo.idl:
9331
93322011-01-27  Philippe Normand  <pnormand@igalia.com>
9333
9334        Reviewed by Martin Robinson.
9335
9336        [GTK] LayoutTests/media/audio-mpeg4-supported.html fails
9337        https://bugs.webkit.org/show_bug.cgi?id=53125
9338
9339        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
9340        (WebCore::mimeTypeCache): Add audio/x-m4a mimetype in the cache.
9341
93422011-02-03  Simon Fraser  <simon.fraser@apple.com>
9343
9344        Reviewed by Sam Weinig.
9345
9346        ShadowBlur radius for CSS shadows is slightly too big
9347        https://bugs.webkit.org/show_bug.cgi?id=53660
9348        
9349        If we follow SVG gaussian blur for CSS shadows, we can end up rendering
9350        shadows that extend further than the CSS "blur radius", which results
9351        in the shadows being truncated.
9352        
9353        Fix with a small fudge factor to reduce the kernel diameter slightly
9354        for CSS shadows.
9355        
9356        Also more closely follow the algorithm described in the SVG spec
9357        for computing the kernel size for different diameters, and clean up
9358        some variable naming relating to the shadow bounds.
9359
9360        * platform/graphics/ShadowBlur.cpp:
9361        (WebCore::ShadowBlur::blurLayerImage):
9362        (WebCore::ShadowBlur::drawRectShadowWithTiling):
9363
93642011-02-01  Pavel Podivilov  <podivilov@chromium.org>
9365
9366        Reviewed by Pavel Feldman.
9367
9368        Web Inspector: introduce new api for managing JavaScript breakpoints.
9369        https://bugs.webkit.org/show_bug.cgi?id=53235
9370
9371        Single protocol breakpoint (e.g. set by url) is mapped on zero or more VM breakpoints (set by sourceID).
9372        removeJavaScriptBreakpoint(breakpointId) removes breakpoint and all linked VM breakpoints.
9373        Since UI uses VM breakpoint location rather then protocol breakpoint location, all resolved breakpoints locations are passed to frontend.
9374
9375        SourceFrame is now aware of whether breakpoint is resolved or not and may display it accordingly.
9376        JavaScriptBreakpointsSidebarPane filters out breakpoints set on nonexistent scripts to avoid UI cluttering.
9377
9378        * bindings/js/ScriptDebugServer.cpp:
9379        (WebCore::ScriptDebugServer::setBreakpoint):
9380        (WebCore::ScriptDebugServer::removeBreakpoint):
9381        * bindings/js/ScriptDebugServer.h:
9382        * bindings/v8/DebuggerScript.js:
9383        ():
9384        * bindings/v8/ScriptDebugServer.cpp:
9385        (WebCore::ScriptDebugServer::setBreakpoint):
9386        * bindings/v8/ScriptDebugServer.h:
9387        * inspector/Inspector.idl:
9388        * inspector/InspectorAgent.cpp: clear breakpoints from inspector state when new frontend is created
9389        (WebCore::InspectorAgent::restoreInspectorStateFromCookie):
9390        (WebCore::InspectorAgent::populateScriptObjects):
9391        (WebCore::InspectorAgent::restoreDebugger):
9392        (WebCore::InspectorAgent::showAndEnableDebugger):
9393        (WebCore::InspectorAgent::enableDebugger):
9394        * inspector/InspectorAgent.h:
9395        * inspector/InspectorDebuggerAgent.cpp: manage relations between protocol breakpoints and VM breakpoints
9396        (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
9397        (WebCore::InspectorDebuggerAgent::inspectedURLChanged):
9398        (WebCore::InspectorDebuggerAgent::setJavaScriptBreakpoint):
9399        (WebCore::InspectorDebuggerAgent::setJavaScriptBreakpointBySourceId):
9400        (WebCore::InspectorDebuggerAgent::removeJavaScriptBreakpoint):
9401        (WebCore::InspectorDebuggerAgent::continueToLocation):
9402        (WebCore::InspectorDebuggerAgent::resolveBreakpoint):
9403        (WebCore::InspectorDebuggerAgent::getScriptSource):
9404        (WebCore::InspectorDebuggerAgent::didParseSource):
9405        (WebCore::InspectorDebuggerAgent::didPause):
9406        * inspector/InspectorDebuggerAgent.h:
9407        (WebCore::InspectorDebuggerAgent::Script::Script):
9408        * inspector/InspectorValues.cpp:
9409        (WebCore::InspectorValue::asNumber):
9410        (WebCore::InspectorBasicValue::asNumber):
9411        (WebCore::InspectorObject::remove):
9412        * inspector/InspectorValues.h:
9413        (WebCore::InspectorObject::getNumber):
9414        (WebCore::InspectorObject::find):
9415        * inspector/ScriptBreakpoint.h:
9416        (WebCore::ScriptBreakpoint::ScriptBreakpoint):
9417        * inspector/front-end/Breakpoint.js:
9418        (WebInspector.Breakpoint):
9419        (WebInspector.Breakpoint.prototype.addLocation):
9420        * inspector/front-end/BreakpointManager.js: remove all stuff related to JavaScript breakpoints from here
9421        (WebInspector.BreakpointManager):
9422        (WebInspector.BreakpointManager.prototype._projectChanged):
9423        (WebInspector.BreakpointManager.prototype._saveBreakpoints):
9424        (WebInspector.BreakpointManager.prototype._validateBreakpoints):
9425        * inspector/front-end/BreakpointsSidebarPane.js:
9426        (WebInspector.JavaScriptBreakpointsSidebarPane): filter breakpoints set on nonexistent scripts to avoid ui cluttering
9427        * inspector/front-end/DebuggerModel.js:
9428        (WebInspector.DebuggerModel): pull all JavaScript from localStorage and push them to fronted when debugger is enabled, save resolved breakpoints data
9429        * inspector/front-end/Script.js:
9430        (WebInspector.Script.prototype.sourceLine):
9431        * inspector/front-end/ScriptsPanel.js:
9432        (WebInspector.ScriptsPanel.prototype._toggleDebugging):
9433        * inspector/front-end/Settings.js:
9434        (WebInspector.Settings):
9435        * inspector/front-end/SourceFrame.js: handle resolved and unresolved breakpoints differently
9436        * inspector/front-end/inspector.js:
9437
94382011-02-03  Nikolas Zimmermann  <nzimmermann@rim.com>
9439
9440        Reviewed by Dirk Schulze.
9441
9442        small text which is scaled to be large renders pixelated
9443        https://bugs.webkit.org/show_bug.cgi?id=12448
9444
9445        SVG <text> with font-size smaller or equal to 1 does not paint correctly
9446        https://bugs.webkit.org/show_bug.cgi?id=14242
9447
9448        misplaced text in SVG
9449        https://bugs.webkit.org/show_bug.cgi?id=17053
9450
9451        Don't render very small (but zoomed) text inside SVG
9452        https://bugs.webkit.org/show_bug.cgi?id=19393
9453
9454        Tiny fonts scaled up end up too large in Safari
9455        https://bugs.webkit.org/show_bug.cgi?id=20192
9456
9457        Stretched SVG Text has awful glyph spacing 
9458        https://bugs.webkit.org/show_bug.cgi?id=21774
9459
9460        REGRESSION (r72141?): svg/batik/text/smallFonts.svg failing on Leopard
9461        https://bugs.webkit.org/show_bug.cgi?id=49846
9462
9463        [Gtk] Text height in zoomed SVG is 1px too high
9464        https://bugs.webkit.org/show_bug.cgi?id=50313
9465
9466        SVG text smaller than 0.5px not displayed properly
9467        https://bugs.webkit.org/show_bug.cgi?id=50528
9468
9469        When rendering text, we're selecting a font with a size, as specified in the markup.
9470        This can lead to problems, if the context, where the text is rendered upon, is scaled. If a parent
9471        element of the <text> defines a transform=".." or the outermost <svg> containing a viewBox the
9472        problem becomes apparent.
9473
9474        Consider following two snippets, which should render exactly the same:
9475        <svg viewBox="0 0 100 100"><text x="25" y="50" font-size="25">test</text></svg>
9476        <svg viewBox="0 0 1 1"><text x="0.25" y="0.5" font-size="0.25">test</text></svg>
9477
9478        When selecting a font size below 0.5, FontCacheMac would request a font with size 0,
9479        which AppKit turns into 12. This lead to huge text rendering, instead of small text on Mac.
9480        Other platforms have different problems (Qt simply scales the font, leading to pixelation etc.)
9481
9482        To fix this in a cross-platform fashion, we now always compute the final font size on screen,
9483        remove any scaling from the context, draw the text using the scaled font size, then reapply
9484        the context scale. This makes the example snippets above render exactly the same and fixes
9485        numerous of bugs, present since years. As we're now heavily using floating-point font sizes
9486        internally, depending on the scale of the document, it's very important to use the new
9487        floating-point text metrics information (floatAscent/floatDescent/floatHeight) everywhere in SVG.
9488
9489        Fixes existing tests: css3/zoom-coords.xhtml (cross-platform inconsistencies should be gone, mac now reports floatHeight values for SVG text height)
9490                              svg/hixie/text/003.html (no more pixelation)
9491                              svg/batik/text/smallFonts.svg (small fonts aren't rendered huge anymore on mac)
9492                              svg/hixie/viewbox/preserveAspectRatio/001.xml (bug 21774, no more awful spacing)
9493                              svg/zoom/page/zoom-zoom-coords.xhtml (cross-platform inconsistencies should be gone, inspired by bug 50313)
9494
9495        Tests: svg/text/font-size-below-point-five-2.svg (reduction from bug 50528)
9496               svg/text/font-size-below-point-five.svg (reduction from bug 50528)
9497               svg/text/scaled-font.svg (reduction from bug 12448)
9498               svg/text/small-fonts-2.svg (reduction from bug 14242)
9499               svg/text/small-fonts-3.svg (reduction from bug 17053)
9500               svg/text/small-fonts-in-html5.html (reduction from bug 19393)
9501               svg/text/small-fonts.svg (reduction from bug 20192))
9502
9503        * rendering/svg/RenderSVGInlineText.cpp: Cache 'float scalingFactor' & 'Font scaledFont', whenever the on-screen representation changes.
9504        * rendering/svg/RenderSVGInlineText.h:
9505        * rendering/svg/RenderSVGText.cpp: Update scalingFactor/scaledFont, if necessary.
9506        * rendering/svg/SVGInlineTextBox.cpp: Switch to new font rendering strategy. Always use scaledFont, and remove any context scale before drawing.
9507        * rendering/svg/SVGInlineTextBox.h:
9508        * rendering/svg/SVGTextLayoutEngineBaseline.cpp: Use floating-point metrics everywhere.
9509        * rendering/svg/SVGTextMetrics.cpp: Ditto.
9510        * rendering/svg/SVGTextMetrics.h: Ditto.
9511        * rendering/svg/SVGTextQuery.cpp: Ditto.
9512        * svg/SVGFont.cpp: Adjust stroke thickness, when drawing SVGFonts into a normalized context (no more scale).
9513        * svg/SVGTextContentElement.cpp: Make <text> elements always dependant on window size changes in combination with viewBox set.
9514        * svg/SVGTextPositioningElement.cpp: Remove now unnecessary code to determine wheter relative lengths are used as text attributes.
9515        * svg/SVGTextPositioningElement.h: 
9516
95172011-02-03  Pavel Feldman  <pfeldman@chromium.org>
9518
9519        Reviewed by Yury Semikhatsky.
9520
9521        Web Inspector: resources panel doesn't show frames after reload.
9522        https://bugs.webkit.org/show_bug.cgi?id=53430
9523
9524        * inspector/front-end/ResourcesPanel.js:
9525        (WebInspector.ResourcesPanel.prototype.show):
9526        (WebInspector.ResourcesPanel.prototype.loadEventFired):
9527        (WebInspector.ResourcesPanel.prototype._initDefaultSelection):
9528        (WebInspector.ResourcesPanel.prototype.reset):
9529        (WebInspector.ResourcesPanel.prototype.clear):
9530        * inspector/front-end/inspector.js:
9531        (WebInspector.loadEventFired):
9532
95332011-02-01  Alexander Pavlov  <apavlov@chromium.org>
9534
9535        Reviewed by Pavel Feldman.
9536
9537        Web Inspector: Remove the *2 suffix from the CSS style-related protocol methods
9538        https://bugs.webkit.org/show_bug.cgi?id=53492
9539
9540        * inspector/Inspector.idl:
9541        * inspector/InspectorCSSAgent.cpp:
9542        (WebCore::InspectorCSSAgent::getStylesForNode):
9543        (WebCore::InspectorCSSAgent::getInlineStyleForNode):
9544        (WebCore::InspectorCSSAgent::getComputedStyleForNode):
9545        (WebCore::InspectorCSSAgent::getAllStyles):
9546        (WebCore::InspectorCSSAgent::getStyleSheet):
9547        (WebCore::InspectorCSSAgent::getStyleSheetText):
9548        (WebCore::InspectorCSSAgent::setStyleSheetText):
9549        (WebCore::InspectorCSSAgent::setPropertyText):
9550        (WebCore::InspectorCSSAgent::toggleProperty):
9551        (WebCore::InspectorCSSAgent::setRuleSelector):
9552        (WebCore::InspectorCSSAgent::addRule):
9553        * inspector/InspectorCSSAgent.h:
9554        * inspector/front-end/AuditRules.js:
9555        (WebInspector.AuditRules.UnusedCssRule.prototype.doRun):
9556        * inspector/front-end/CSSStyleModel.js:
9557        (WebInspector.CSSStyleModel.prototype.getStylesAsync):
9558        (WebInspector.CSSStyleModel.prototype.getComputedStyleAsync):
9559        (WebInspector.CSSStyleModel.prototype.getInlineStyleAsync):
9560        (WebInspector.CSSStyleModel.prototype.setRuleSelector):
9561        (WebInspector.CSSStyleModel.prototype.addRule):
9562        (WebInspector.CSSStyleModel.prototype._styleSheetChanged):
9563        (WebInspector.CSSStyleModel.prototype._onRevert):
9564        (WebInspector.CSSStyleDeclaration.prototype.insertPropertyAt):
9565        (WebInspector.CSSProperty.prototype.setText):
9566        (WebInspector.CSSProperty.prototype.setDisabled):
9567        (WebInspector.CSSStyleSheet.createForId):
9568        (WebInspector.CSSStyleSheet.prototype.setText):
9569
95702011-02-03  Adam Barth  <abarth@webkit.org>
9571
9572        Reviewed by Daniel Bates.
9573
9574        Teach XSSFilter about data URLs
9575        https://bugs.webkit.org/show_bug.cgi?id=53662
9576
9577        The XSS filter doesn't really make sense for data URLs because
9578        everything in a "response" from a data URL was part of the request.
9579
9580        Test: http/tests/security/xssAuditor/data-urls-work.html
9581
9582        * html/parser/XSSFilter.cpp:
9583        (WebCore::XSSFilter::init):
9584        (WebCore::XSSFilter::filterToken):
9585
95862011-02-02  Chris Evans  <cevans@chromium.org>
9587
9588        Reviewed by Darin Fisher.
9589
9590        window.find() can fail when switching case sensitivity
9591        https://bugs.webkit.org/show_bug.cgi?id=53654
9592
9593        Reset the pattern to a safe one when done, to avoid usearch_reset()
9594        indirectly touching the old, stale text pointer.
9595
9596        Test: fast/text/find-window.html
9597
9598        * editing/TextIterator.cpp:
9599        (WebCore::SearchBuffer::~SearchBuffer): leave a safe pattern buffer when done.
9600
96012011-02-02  Adam Barth  <abarth@webkit.org>
9602
9603        Reviewed by Daniel Bates.
9604
9605        Teach XSSFilter that <param> elements can contain URLs
9606        https://bugs.webkit.org/show_bug.cgi?id=53652
9607
9608        When loading plugins for the <object> tag, we're "smart" enough to
9609        reach into the <param> elements and pull out the URL in some cases.
9610        This patch teaches the XSSFilter how to block injections into those
9611        sorts of param elements.
9612
9613        Fixes:
9614            http/tests/security/xssAuditor/object-*
9615
9616        * html/HTMLParamElement.cpp:
9617        (WebCore::HTMLParamElement::isURLParameter):
9618        (WebCore::HTMLParamElement::isURLAttribute):
9619        (WebCore::HTMLParamElement::addSubresourceAttributeURLs):
9620        * html/HTMLParamElement.h:
9621            - Add a helper function so that HTMLParamElement can share the
9622              ground truth for these names with the XSSFilter.
9623        * html/parser/XSSFilter.cpp:
9624        (WebCore::XSSFilter::filterTokenInitial):
9625        (WebCore::XSSFilter::filterParamToken):
9626        * html/parser/XSSFilter.h:
9627
96282011-02-02  Dimitri Glazkov  <dglazkov@chromium.org>
9629
9630        Reviewed by David Levin.
9631
9632        GCC compiler on ARM issues bogus warnings and fails to compile.
9633        https://bugs.webkit.org/show_bug.cgi?id=53620
9634
9635        Despite warnings explicitly being disallowed (-Wno-uninitialized),
9636        gcc (Ubuntu 4.4.3-4ubuntu5) 4.4.3 throws up the warnings like:
9637
9638        "error: 'colorTransparent.unstatic.4909' may be used uninitialized in this function"
9639
9640        The fix is to add an extra condition, which somehow pacifies the compiler.
9641
9642        * css/CSSPrimitiveValue.cpp:
9643        (WebCore::CSSPrimitiveValue::createColor): Added workaround conditions.
9644
96452011-02-02  Adam Barth  <abarth@webkit.org>
9646
9647        Reviewed by Daniel Bates.
9648
9649        Teach XSSFilter about X-XSS-Protection
9650        https://bugs.webkit.org/show_bug.cgi?id=53640
9651
9652        This patch causes us to pass:
9653            http/tests/security/xssAuditor/full-block-*
9654            http/tests/security/xssAuditor/no-protection-script-tag.html
9655
9656        * html/parser/XSSFilter.cpp:
9657        (WebCore::XSSFilter::XSSFilter):
9658        (WebCore::XSSFilter::init):
9659        (WebCore::XSSFilter::filterToken):
9660        * html/parser/XSSFilter.h:
9661
96622011-02-02  Adam Barth  <abarth@webkit.org>
9663
9664        Reviewed by Daniel Bates.
9665
9666        When XSSFilter blocks JavaScript URLs, use a safe JavaScript URL
9667        instead of the empty string
9668        https://bugs.webkit.org/show_bug.cgi?id=53643
9669
9670        In a URL context, the empty string completes to the URL of the current
9671        page, which causes these tests to go into an infinite loop.  Instead,
9672        we should use a "safe" JavaScript URL that does nothing.
9673
9674        Fixes:
9675            http/tests/security/xssAuditor/javascript-link*
9676
9677        * html/parser/XSSFilter.cpp:
9678        (WebCore::XSSFilter::eraseDangerousAttributesIfInjected):
9679
96802011-02-02  Dan Bernstein  <mitz@apple.com>
9681
9682        Reviewed by Sam Weinig.
9683
9684        <rdar://problem/8380506> REGRESSION (r61921): RTL text in <b> tag doesn't display in WebKit under certain conditions
9685        https://bugs.webkit.org/show_bug.cgi?id=44942
9686
9687        Test: fast/text/bidi-embedding-pop-and-push-same-2.html
9688
9689        * platform/text/BidiResolver.h:
9690        (WebCore::::commitExplicitEmbedding): Changed to return a boolean indicating whether there was
9691        a change to embedding levels.
9692        (WebCore::::createBidiRunsForLine): If embedding levels did not change as a result of committing
9693        the explicit embedding sequence, then runs were not added, and we should continue normally.
9694
96952011-02-02  Sam Weinig  <sam@webkit.org>
9696
9697        Reviewed by Dan Bernstein.
9698
9699        Fix miscalculation of the overhang area used for painting. We were
9700        not correctly accounting for scrollbars resulting in an non-negative
9701        overhang even when we weren't over the edge.
9702
9703        * platform/ScrollView.cpp:
9704        (WebCore::ScrollView::calculateOverhangAreasForPainting):
9705
97062011-02-02  Jeremy Orlow  <jorlow@chromium.org>
9707
9708        Reviewed by Nate Chapin.
9709
9710        IDBTransaction and IDBRequest can be deleted while ScriptExecutionContext is iterating....which is bad
9711        https://bugs.webkit.org/show_bug.cgi?id=52722
9712
9713        The solution is to change ScriptExecutionContext's destructor to iterate over
9714        the list in a way that handles the mutations. This new method is destructive,
9715        but that's OK since the object is going away. I've also added a several asserts.
9716
9717        There should be no behavior change.
9718
9719        * dom/ScriptExecutionContext.cpp:
9720        (WebCore::ScriptExecutionContext::ScriptExecutionContext):
9721        (WebCore::ScriptExecutionContext::~ScriptExecutionContext):
9722        (WebCore::ScriptExecutionContext::canSuspendActiveDOMObjects):
9723        (WebCore::ScriptExecutionContext::suspendActiveDOMObjects):
9724        (WebCore::ScriptExecutionContext::resumeActiveDOMObjects):
9725        (WebCore::ScriptExecutionContext::stopActiveDOMObjects):
9726        (WebCore::ScriptExecutionContext::createdActiveDOMObject):
9727        (WebCore::ScriptExecutionContext::destroyedActiveDOMObject):
9728        * dom/ScriptExecutionContext.h:
9729        * storage/IDBTransaction.cpp:
9730        (WebCore::IDBTransaction::contextDestroyed):
9731        * storage/IDBTransaction.h:
9732
97332011-02-02  Mark Rowe  <mrowe@apple.com>
9734
9735        Build fix.
9736
9737        * WebCore.exp.in: Remove some bogus symbols from the .exp.in file.
9738        * platform/mac/ScrollbarThemeMac.mm:
9739        (WebCore::ScrollbarThemeMac::unregisterScrollbar): Look the object
9740        up in the HashMap rather than relying on a local variable that doesn't
9741        exist.
9742
97432011-02-02  Adam Barth  <abarth@webkit.org>
9744
9745        Reviewed by Daniel Bates.
9746
9747        Teach XSSFilter about JavaScript URLs
9748        https://bugs.webkit.org/show_bug.cgi?id=53635
9749
9750        This patch teaches the XSSFilter to check for JavaScript URLs in
9751        attribute values.  If this approach has too many false positives, we
9752        can restrict which attribute names we examine.
9753
9754        Fixes these tests:
9755            http/tests/security/xssAuditor/anchor-url-dom-write-location-javascript-URL.html
9756            http/tests/security/xssAuditor/dom-write-location-javascript-URL.html
9757            http/tests/security/xssAuditor/iframe-javascript-url*
9758
9759        * html/parser/XSSFilter.cpp:
9760        (WebCore::HTMLNames::containsJavaScriptURL):
9761        (WebCore::XSSFilter::filterTokenInitial):
9762        (WebCore::XSSFilter::eraseDangerousAttributesIfInjected):
9763        * html/parser/XSSFilter.h:
9764
97652011-02-02  Dan Bernstein  <mitz@apple.com>
9766
9767        Reviewed by Sam Weinig, even though this is just a...
9768
9769        ...build fix.
9770
9771        * platform/mac/ScrollAnimatorMac.mm:
9772        (WebCore::ScrollAnimatorMac::~ScrollAnimatorMac):
9773
97742011-02-02  Mark Rowe  <mrowe@apple.com>
9775
9776        Reviewed by Beth Dakin.
9777
9778        <rdar://problem/8952012> Crash on launch inside scrollbar code.
9779
9780        We need to ensure that we remove ourselves as the delegates of objects when we're going
9781        away as failing to do this can lead to crashes if the lifetime of the other objects
9782        is longer than ours.
9783
9784        * platform/mac/ScrollAnimatorMac.mm:
9785        (WebCore::ScrollAnimatorMac::~ScrollAnimatorMac):
9786        * platform/mac/ScrollbarThemeMac.mm:
9787        (WebCore::ScrollbarThemeMac::unregisterScrollbar):
9788
97892011-02-02  Beth Dakin  <bdakin@apple.com>
9790
9791        Build fix.
9792
9793        * WebCore.exp.in:
9794
97952011-02-02  Patrick Gansterer  <paroga@webkit.org>
9796
9797        Unreviewed WinCE build fix for r77397.
9798
9799        * page/wince/FrameWinCE.cpp:
9800        (WebCore::computePageRectsForFrame):
9801
98022011-02-02  Patrick Gansterer  <paroga@webkit.org>
9803
9804        Unreviewed WinCE build fix for r77398.
9805
9806        * platform/graphics/wince/PlatformPathWinCE.cpp:
9807        (WebCore::containsPoint):
9808        (WebCore::inflateRectToContainPoint):
9809        (WebCore::PlatformPath::addRect):
9810        * platform/graphics/wince/SharedBitmap.cpp:
9811        (WebCore::SharedBitmap::drawPattern):
9812        * rendering/RenderThemeWinCE.cpp:
9813        (WebCore::RenderThemeWinCE::paintMenuListButton):
9814        (WebCore::RenderThemeWinCE::paintSearchFieldCancelButton):
9815        (WebCore::RenderThemeWinCE::paintSliderTrack):
9816        (WebCore::RenderThemeWinCE::paintMediaMuteButton):
9817        (WebCore::RenderThemeWinCE::paintMediaPlayButton):
9818        (WebCore::RenderThemeWinCE::paintMediaSeekBackButton):
9819        (WebCore::RenderThemeWinCE::paintMediaSeekForwardButton):
9820
98212011-02-02  Jian Li  <jianli@chromium.org>
9822
9823        Reviewed by Kenneth Russell.
9824
9825        [V8] Accessing DataView with index of -1 returns 0, doesn't throw
9826        https://bugs.webkit.org/show_bug.cgi?id=53559
9827
9828        Added test cases to cover this in fast/canvas/webgl/data-view-test.html.
9829
9830        * html/canvas/DataView.h:
9831        (WebCore::DataView::beyondRange):
9832
98332011-02-02  Sam Weinig  <sam@webkit.org>
9834
9835        Reviewed by Beth Dakin.
9836
9837        Add ChromeClient function to paint custom overhang areas.
9838        https://bugs.webkit.org/show_bug.cgi?id=53639
9839
9840        * page/Chrome.cpp:
9841        (WebCore::ChromeClient::paintCustomOverhangArea):
9842        * page/ChromeClient.h:
9843        Add ChromeClient function.
9844
9845        * page/FrameView.cpp:
9846        (WebCore::FrameView::paintOverhangAreas):
9847        * page/FrameView.h:
9848        Call out the the ChromeClient, call ScrollView base implementation
9849        if the ChromeClient returns false.
9850
9851        * platform/ScrollView.cpp:
9852        (WebCore::ScrollView::paintOverhangAreas):
9853        * platform/ScrollView.h:
9854        Add dirty rect for use when painting overhang areas.
9855
98562011-02-02  Peter Kasting  <pkasting@google.com>
9857
9858        Not reviewed, build fix.
9859
9860        Fix compile after r77427.
9861        https://bugs.webkit.org/show_bug.cgi?id=53455
9862
9863        * platform/graphics/qt/ImageDecoderQt.cpp:
9864        (WebCore::ImageDecoderQt::internalHandleCurrentImage):
9865        * platform/image-decoders/ImageDecoder.cpp:
9866        (WebCore::ImageFrame::operator=):
9867        * platform/image-decoders/bmp/BMPImageReader.cpp:
9868        (WebCore::BMPImageReader::decodeBMP):
9869        * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
9870        (WebCore::JPEGImageDecoder::outputScanlines):
9871        * platform/image-decoders/png/PNGImageDecoder.cpp:
9872        (WebCore::PNGImageDecoder::rowAvailable):
9873        * platform/image-decoders/webp/WEBPImageDecoder.cpp:
9874        (WebCore::WEBPImageDecoder::decode):
9875
98762011-02-02  Peter Kasting  <pkasting@google.com>
9877
9878        Reviewed by David Levin.
9879
9880        Clean up ImageDecoder's comments (remove/trim/clarify).
9881        https://bugs.webkit.org/show_bug.cgi?id=53455
9882
9883        This also renames or eliminates a couple of functions for clarity, and
9884        switches a couple erroneous strncmp() calls to memcmp().
9885
9886        * platform/image-decoders/ImageDecoder.cpp:
9887        (WebCore::ImageDecoder::create):
9888        (WebCore::ImageFrame::clearPixelData):
9889        (WebCore::ImageFrame::zeroFillPixelData):
9890        (WebCore::ImageFrame::setSize):
9891        * platform/image-decoders/ImageDecoder.h:
9892        (WebCore::ImageFrame::originalFrameRect):
9893        (WebCore::ImageFrame::setOriginalFrameRect):
9894        (WebCore::ImageDecoder::ImageDecoder):
9895        (WebCore::ImageDecoder::~ImageDecoder):
9896        (WebCore::ImageDecoder::isSizeAvailable):
9897        (WebCore::ImageDecoder::size):
9898        (WebCore::ImageDecoder::setIgnoreGammaAndColorProfile):
9899        (WebCore::ImageDecoder::clearFrameBufferCache):
9900        (WebCore::ImageDecoder::isOverSize):
9901        * platform/image-decoders/bmp/BMPImageReader.cpp:
9902        (WebCore::BMPImageReader::processNonRLEData):
9903        * platform/image-decoders/cg/ImageDecoderCG.cpp:
9904        (WebCore::ImageFrame::setSize):
9905        * platform/image-decoders/gif/GIFImageDecoder.cpp:
9906        (WebCore::GIFImageDecoder::clearFrameBufferCache):
9907        (WebCore::GIFImageDecoder::frameComplete):
9908        (WebCore::GIFImageDecoder::initFrameBuffer):
9909        * platform/image-decoders/jpeg/JPEGImageDecoder.h:
9910        * platform/image-decoders/qt/ImageFrameQt.cpp:
9911        (WebCore::ImageFrame::operator=):
9912        (WebCore::ImageFrame::clearPixelData):
9913        (WebCore::ImageFrame::zeroFillPixelData):
9914        (WebCore::ImageFrame::setSize):
9915        * platform/image-decoders/skia/ImageDecoderSkia.cpp:
9916        (WebCore::ImageFrame::operator=):
9917        (WebCore::ImageFrame::clearPixelData):
9918        (WebCore::ImageFrame::zeroFillPixelData):
9919        (WebCore::ImageFrame::setSize):
9920        * platform/image-decoders/webp/WEBPImageDecoder.h:
9921
99222011-02-02  Vangelis Kokkevis  <vangelis@chromium.org>
9923
9924        [chromium] Adding support for reflections to the accelerated
9925        compositing path.
9926        https://bugs.webkit.org/show_bug.cgi?id=53179
9927
9928        All layout tests in compositing/reflections generate correct
9929        results with the exception of:
9930        1. nested-reflection-anchor-point.html : There appears to be
9931           some issue with the layer transform math that I haven't been
9932           able to track down yet.
9933        2. reflection-opacity.html : The current implementation applies
9934           opacity before doing the reflection which makes this test
9935           produce incorrect results.  This will affect reflected layers
9936           with opacity that overlap their original layer.  FIXME comment
9937           added in the code.
9938
9939        Tests: Covered by existing layout tests in compositing/reflections.
9940               Please see above for exceptions.
9941
9942        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
9943        (WebCore::GraphicsLayerChromium::setReplicatedByLayer):
9944        (WebCore::GraphicsLayerChromium::updateAnchorPoint):
9945        * platform/graphics/chromium/GraphicsLayerChromium.h:
9946        * platform/graphics/chromium/LayerChromium.cpp:
9947        (WebCore::LayerChromium::LayerChromium):
9948        * platform/graphics/chromium/LayerChromium.h:
9949        (WebCore::LayerChromium::setReplicaLayer):
9950        (WebCore::LayerChromium::replicaLayer):
9951        * platform/graphics/chromium/LayerRendererChromium.cpp:
9952        (WebCore::LayerRendererChromium::updateLayersRecursive):
9953        (WebCore::LayerRendererChromium::drawLayer):
9954        * platform/graphics/chromium/RenderSurfaceChromium.cpp:
9955        (WebCore::RenderSurfaceChromium::drawableContentRect):
9956        (WebCore::RenderSurfaceChromium::drawSurface):
9957        (WebCore::RenderSurfaceChromium::draw):
9958        * platform/graphics/chromium/RenderSurfaceChromium.h:
9959        (WebCore::RenderSurfaceChromium::drawTransform):
9960
99612011-02-02  Xiyuan Xia  <xiyuan@chromium.org>
9962
9963        Reviewed by Tony Chang.
9964
9965        [Chromium] Select popup with padding has white strip on right
9966        https://bugs.webkit.org/show_bug.cgi?id=53602
9967
9968        No new tests as this change restores old behavior.
9969
9970        * platform/chromium/PopupMenuChromium.cpp:
9971        (WebCore::PopupListBox::layout):
9972
99732011-02-02  Beth Dakin  <bdakin@apple.com>
9974
9975        Reviewed by Mark Rowe.
9976
9977        Fix for <rdar://problem/8950343> CrashTracer: [USER]
9978        1 crash in WebProcess at com.apple.WebCore: 
9979        WebCore::ScrollbarThemeMac::unregisterScrollbar + 22
9980
9981        It is possible for a Scrollbar's ScrollableArea to be null,
9982        so we must null check.
9983        * platform/mac/ScrollbarThemeMac.mm:
9984        (WebCore::ScrollbarThemeMac::registerScrollbar):
9985        (WebCore::ScrollbarThemeMac::unregisterScrollbar):
9986
99872011-02-02  Zhenyao Mo  <zmo@google.com>
9988
9989        Reviewed by Kenneth Russell.
9990
9991        bufferData and bufferSubData should generate INVALID_VALUE with negative input
9992        https://bugs.webkit.org/show_bug.cgi?id=53626
9993
9994        * html/canvas/WebGLRenderingContext.cpp:
9995        (WebCore::WebGLRenderingContext::bufferData):
9996        (WebCore::WebGLRenderingContext::bufferSubData):
9997
99982011-02-02  Jeff Miller  <jeffm@apple.com>
9999
10000        Reviewed by Darin Adler and Steve Falkenburg.
10001
10002        Add DerivedSources.make to some Visual Studio projects
10003        https://bugs.webkit.org/show_bug.cgi?id=53607
10004
10005        * WebCore.vcproj/WebCoreGenerated.vcproj: Add DerivedSources.make.
10006
100072011-02-02  Cris Neckar  <cdn@chromium.org>
10008
10009        Reviewed by James Robinson.
10010
10011        Refcount domwindows when dispatching device orientation events.
10012        https://bugs.webkit.org/show_bug.cgi?id=53623
10013
10014        Test: fast/events/device-orientation-crash.html
10015
10016        * dom/DeviceMotionController.cpp:
10017        (WebCore::DeviceMotionController::timerFired):
10018        (WebCore::DeviceMotionController::didChangeDeviceMotion):
10019        * dom/DeviceMotionController.h:
10020        * dom/DeviceOrientationController.cpp:
10021        (WebCore::DeviceOrientationController::timerFired):
10022        (WebCore::DeviceOrientationController::didChangeDeviceOrientation):
10023        * dom/DeviceOrientationController.h:
10024
100252011-02-02  Zhenyao Mo  <zmo@google.com>
10026
10027        Reviewed by Kenneth Russell.
10028
10029        A deleted object should never been bound again
10030        https://bugs.webkit.org/show_bug.cgi?id=53604
10031
10032        * html/canvas/WebGLRenderingContext.cpp:
10033        (WebCore::WebGLRenderingContext::checkObjectToBeBound): Helper function to bind* and useProgram.
10034        (WebCore::WebGLRenderingContext::bindBuffer): Use checkObjectToBeBound.
10035        (WebCore::WebGLRenderingContext::bindFramebuffer): Ditto.
10036        (WebCore::WebGLRenderingContext::bindRenderbuffer): Ditto.
10037        (WebCore::WebGLRenderingContext::bindTexture): Ditto, also check the target matching.
10038        (WebCore::WebGLRenderingContext::deleteObject): Helper funtion to delete*.
10039        (WebCore::WebGLRenderingContext::deleteBuffer): Use deleteObject.
10040        (WebCore::WebGLRenderingContext::deleteFramebuffer): Ditto.
10041        (WebCore::WebGLRenderingContext::deleteProgram): Ditto.
10042        (WebCore::WebGLRenderingContext::deleteRenderbuffer): Ditto.
10043        (WebCore::WebGLRenderingContext::deleteShader): Ditto.
10044        (WebCore::WebGLRenderingContext::deleteTexture): Ditto.
10045        (WebCore::WebGLRenderingContext::useProgram): Use checkObjectToBeBound.
10046        * html/canvas/WebGLRenderingContext.h:
10047        * html/canvas/WebGLTexture.h:
10048        (WebCore::WebGLTexture::getTarget): Accessor to cached target.
10049
100502011-02-02  Alejandro G. Castro  <alex@igalia.com>
10051
10052        Unreviewed Efl buildfix after r77399.
10053
10054        * CMakeListsEfl.txt:
10055
100562011-02-02  Kenneth Russell  <kbr@google.com>
10057
10058        Reviewed by James Robinson.
10059
10060        Rename Typed Array subset to subarray
10061        https://bugs.webkit.org/show_bug.cgi?id=53618
10062
10063        * html/canvas/Float32Array.cpp:
10064        (WebCore::Float32Array::subarray):
10065        * html/canvas/Float32Array.h:
10066        * html/canvas/Float32Array.idl:
10067        * html/canvas/Int16Array.cpp:
10068        (WebCore::Int16Array::subarray):
10069        * html/canvas/Int16Array.h:
10070        * html/canvas/Int16Array.idl:
10071        * html/canvas/Int32Array.cpp:
10072        (WebCore::Int32Array::subarray):
10073        * html/canvas/Int32Array.h:
10074        * html/canvas/Int32Array.idl:
10075        * html/canvas/Int8Array.cpp:
10076        (WebCore::Int8Array::subarray):
10077        * html/canvas/Int8Array.h:
10078        * html/canvas/Int8Array.idl:
10079        * html/canvas/TypedArrayBase.h:
10080        (WebCore::TypedArrayBase::subarrayImpl):
10081        * html/canvas/Uint16Array.cpp:
10082        (WebCore::Uint16Array::subarray):
10083        * html/canvas/Uint16Array.h:
10084        * html/canvas/Uint16Array.idl:
10085        * html/canvas/Uint32Array.cpp:
10086        (WebCore::Uint32Array::subarray):
10087        * html/canvas/Uint32Array.h:
10088        * html/canvas/Uint32Array.idl:
10089        * html/canvas/Uint8Array.cpp:
10090        (WebCore::Uint8Array::subarray):
10091        * html/canvas/Uint8Array.h:
10092        * html/canvas/Uint8Array.idl:
10093
100942011-02-02  Adam Barth  <abarth@webkit.org>
10095
10096        Reviewed by Eric Seidel.
10097
10098        Add an empty file for Content Security Policy
10099        https://bugs.webkit.org/show_bug.cgi?id=53573
10100
10101        Posting this as a separate patch because editing the build files is so
10102        painful.
10103
10104        * Android.mk:
10105        * CMakeLists.txt:
10106        * GNUmakefile.am:
10107        * WebCore.gypi:
10108        * WebCore.pro:
10109        * WebCore.vcproj/WebCore.vcproj:
10110        * WebCore.xcodeproj/project.pbxproj:
10111
101122011-02-02  Dan Winship  <danw@gnome.org>
10113
10114        Reviewed by Martin Robinson.
10115
10116        [GTK] remove old data: URI handler, fix the SoupRequest-based one
10117        to pass tests
10118        https://bugs.webkit.org/show_bug.cgi?id=50885
10119
10120        * platform/network/soup/ResourceHandleSoup.cpp:
10121        (WebCore::sendRequestCallback): Do content-type sniffing here for
10122        non-HTTP requests.
10123        (WebCore::startHTTPRequest): Rename to match WebKit style.
10124        (WebCore::ResourceHandle::start): Pass everything except HTTP to
10125        startNonHTTPRequest, letting the SoupRequester decide whether it's
10126        supported or not.
10127        (WebCore::startNonHTTPRequest): Remove some old pre-SoupRequester
10128        code that was a no-op for file: URIs, but would break some data:
10129        URIs.
10130
101312011-02-02  Dimitri Glazkov  <dglazkov@chromium.org>
10132
10133        Update even more references to right() and bottom() in Chromium. Sheesh.
10134
10135        * platform/graphics/chromium/LayerRendererChromium.cpp:
10136        (WebCore::LayerRendererChromium::getFramebufferPixels): Replaced bottom/right with maxY/maxX.
10137
101382011-02-02  Alejandro G. Castro  <alex@igalia.com>
10139
10140        Unreviewed Gtk3 buildfix after r77286.
10141
10142        https://bugs.webkit.org/show_bug.cgi?id=53520
10143        Remove the physical terminology from IntRect and FloatRect.
10144
10145        * platform/gtk/RenderThemeGtk3.cpp:
10146        (WebCore::RenderThemeGtk::paintMenuList):
10147
101482011-02-02  Anders Carlsson  <andersca@apple.com>
10149
10150        Fix build.
10151
10152        * platform/mac/ScrollAnimatorMac.mm:
10153        (WebCore::ScrollAnimatorMac::pinnedInDirection):
10154
101552011-02-02  David Hyatt  <hyatt@apple.com>
10156
10157        Reviewed by Dan Bernstein.
10158
10159        https://bugs.webkit.org/show_bug.cgi?id=53619
10160
10161        Floats should not use physical terminology for their rects. Replace left/top with x/y and right/bottom
10162        with maxX/maxY.  This matches IntRect.
10163
10164        * rendering/RenderBlock.cpp:
10165        (WebCore::RenderBlock::addOverflowFromFloats):
10166        (WebCore::RenderBlock::flipFloatForWritingMode):
10167        (WebCore::RenderBlock::paintFloats):
10168        (WebCore::RenderBlock::selectionGaps):
10169        (WebCore::RenderBlock::addOverhangingFloats):
10170        (WebCore::RenderBlock::addIntrudingFloats):
10171        (WebCore::RenderBlock::hitTestFloats):
10172        (WebCore::RenderBlock::adjustForBorderFit):
10173        * rendering/RenderBlock.h:
10174        (WebCore::RenderBlock::FloatingObject::x):
10175        (WebCore::RenderBlock::FloatingObject::maxX):
10176        (WebCore::RenderBlock::FloatingObject::y):
10177        (WebCore::RenderBlock::FloatingObject::maxY):
10178        (WebCore::RenderBlock::FloatingObject::setX):
10179        (WebCore::RenderBlock::FloatingObject::setY):
10180        (WebCore::RenderBlock::logicalTopForFloat):
10181        (WebCore::RenderBlock::logicalBottomForFloat):
10182        (WebCore::RenderBlock::logicalLeftForFloat):
10183        (WebCore::RenderBlock::logicalRightForFloat):
10184        (WebCore::RenderBlock::setLogicalTopForFloat):
10185        (WebCore::RenderBlock::setLogicalLeftForFloat):
10186        (WebCore::RenderBlock::xPositionForFloatIncludingMargin):
10187        (WebCore::RenderBlock::yPositionForFloatIncludingMargin):
10188
101892011-02-02  Dimitri Glazkov  <dglazkov@chromium.org>
10190
10191        Update more references to right() and bottom() in Chromium Win.
10192
10193        * platform/graphics/chromium/TransparencyWin.cpp:
10194        (WebCore::TransparencyWin::compositeOpaqueComposite): Replaced bottom/right with maxY/maxX.
10195        (WebCore::TransparencyWin::compositeTextComposite): Ditto.
10196        * rendering/RenderThemeChromiumWin.cpp:
10197        (WebCore::RenderThemeChromiumWin::paintMenuList): Ditto.
10198
101992011-02-02  Adam Roben  <aroben@apple.com>
10200
10201        Encode/decode FormData and FormDataElement objects consistently
10202
10203        Fixes <http://webkit.org/b/53615> <rdar://problem/8943346> WebKit2: Restoring session state
10204        that contains form data fails (asserts in Debug build)
10205
10206        To prevent this from interfering with WebKit2 testing, it's useful to get this into a build
10207        now, even though we don't have an automated test for it yet. Writing a test is covered by
10208        <http://webkit.org/b/53616>.
10209
10210        Reviewed by Darin Adler.
10211
10212        * history/HistoryItem.cpp: Bump the encoding version, since this patch changes how we encode
10213        FormData objects.
10214
10215        * platform/network/FormData.cpp:
10216        (WebCore::decode): Decode the type from the Decoder, rather than getting it from the
10217        default-constructed FormDataElement. Failing to do this meant that all future uses of the
10218        Decoder would be reading from an unexpected part of the buffer (i.e., the next decode would
10219        start by reading the uint32_t that we forgot to decode here, and so on). We already had code
10220        to correctly set the FormDataElement's type based on this decoded type later in the
10221        function.
10222        (WebCore::FormData::encodeForBackForward): Encode m_identifier as an int64_t, since that
10223        matches its type and how we decode it.
10224
102252011-02-02  Dan Winship  <danw@gnome.org>
10226
10227        Reviewed by Martin Robinson.
10228
10229        [GTK] drop soup cache stuff, which has been moved to libsoup
10230        https://bugs.webkit.org/show_bug.cgi?id=50747
10231
10232        Use libsoup-based cache/requester API and remove the WebCore version
10233        of this functionality. This has been pushed upstream fully.
10234
10235        No new tests because this should not change functionality.
10236
10237        * GNUmakefile.am: Update for removed files.
10238        * platform/network/ResourceHandleInternal.h:
10239        (WebCore::ResourceHandleInternal::ResourceHandleInternal): Update
10240        type names, drop m_requester.
10241        * platform/network/soup/ResourceHandleSoup.cpp:
10242        (WebCore::ensureSessionIsInitialized): Add a SoupRequester to the
10243        session.
10244        (WebCore::parseDataUrl):
10245        (WebCore::startHttp): Get the requester from the session rather
10246        than using m_requester.
10247        (WebCore::sendRequestCallback):
10248        (WebCore::ResourceHandle::platformSetDefersLoading):
10249        (WebCore::readCallback):
10250        (WebCore::startGio): Update type names.
10251        * platform/network/soup/cache/soup-directory-input-stream.c: Removed.
10252        * platform/network/soup/cache/soup-directory-input-stream.h: Removed.
10253        * platform/network/soup/cache/soup-http-input-stream.c: Removed.
10254        * platform/network/soup/cache/soup-http-input-stream.h: Removed.
10255        * platform/network/soup/cache/soup-request-data.c: Removed.
10256        * platform/network/soup/cache/soup-request-data.h: Removed.
10257        * platform/network/soup/cache/soup-request-file.c: Removed.
10258        * platform/network/soup/cache/soup-request-file.h: Removed.
10259        * platform/network/soup/cache/soup-request-http.c: Removed.
10260        * platform/network/soup/cache/soup-request-http.h: Removed.
10261        * platform/network/soup/cache/soup-request.c: Removed.
10262        * platform/network/soup/cache/soup-request.h: Removed.
10263        * platform/network/soup/cache/soup-requester.c: Removed.
10264        * platform/network/soup/cache/soup-requester.h: Removed.
10265        * platform/network/soup/cache/webkit/soup-cache-private.h: Removed.
10266        * platform/network/soup/cache/webkit/soup-cache.c: Removed.
10267        * platform/network/soup/cache/webkit/soup-cache.h: Removed.
10268
102692011-02-02  David Hyatt  <hyatt@apple.com>
10270
10271        Reviewed by Darin Adler.
10272
10273        https://bugs.webkit.org/show_bug.cgi?id=53520
10274
10275        Remove physical accessors from IntRect and FloatRect.
10276
10277        * page/FrameView.cpp:
10278        (WebCore::FrameView::adjustPageHeightDeprecated):
10279        * platform/graphics/FloatRect.h:
10280        * platform/graphics/IntRect.h:
10281
102822011-02-02  David Hyatt  <hyatt@apple.com>
10283
10284        Reviewed by Dan Bernstein.
10285
10286        https://bugs.webkit.org/show_bug.cgi?id=53614
10287
10288        Remove physical terminology from overflow.  Replace with minX/maxX/minY/maxY.
10289
10290        * rendering/InlineFlowBox.cpp:
10291        (WebCore::InlineFlowBox::addBoxShadowVisualOverflow):
10292        (WebCore::InlineFlowBox::addTextBoxVisualOverflow):
10293        * rendering/InlineFlowBox.h:
10294        (WebCore::InlineFlowBox::minYLayoutOverflow):
10295        (WebCore::InlineFlowBox::maxYLayoutOverflow):
10296        (WebCore::InlineFlowBox::minXLayoutOverflow):
10297        (WebCore::InlineFlowBox::maxXLayoutOverflow):
10298        (WebCore::InlineFlowBox::logicalLeftLayoutOverflow):
10299        (WebCore::InlineFlowBox::logicalRightLayoutOverflow):
10300        (WebCore::InlineFlowBox::logicalTopLayoutOverflow):
10301        (WebCore::InlineFlowBox::logicalBottomLayoutOverflow):
10302        (WebCore::InlineFlowBox::minYVisualOverflow):
10303        (WebCore::InlineFlowBox::maxYVisualOverflow):
10304        (WebCore::InlineFlowBox::minXVisualOverflow):
10305        (WebCore::InlineFlowBox::maxXVisualOverflow):
10306        (WebCore::InlineFlowBox::logicalLeftVisualOverflow):
10307        (WebCore::InlineFlowBox::logicalRightVisualOverflow):
10308        (WebCore::InlineFlowBox::logicalminYVisualOverflow):
10309        (WebCore::InlineFlowBox::logicalmaxYVisualOverflow):
10310        * rendering/RenderBlock.cpp:
10311        (WebCore::RenderBlock::adjustLinePositionForPagination):
10312        * rendering/RenderBlockLineLayout.cpp:
10313        (WebCore::RenderBlock::beforeSideVisualOverflowForLine):
10314        (WebCore::RenderBlock::afterSideVisualOverflowForLine):
10315        (WebCore::RenderBlock::beforeSideLayoutOverflowForLine):
10316        (WebCore::RenderBlock::afterSideLayoutOverflowForLine):
10317        * rendering/RenderBox.cpp:
10318        (WebCore::RenderBox::scrollWidth):
10319        (WebCore::RenderBox::scrollHeight):
10320        * rendering/RenderBox.h:
10321        (WebCore::RenderBox::minYLayoutOverflow):
10322        (WebCore::RenderBox::maxYLayoutOverflow):
10323        (WebCore::RenderBox::minXLayoutOverflow):
10324        (WebCore::RenderBox::maxXLayoutOverflow):
10325        (WebCore::RenderBox::logicalLeftLayoutOverflow):
10326        (WebCore::RenderBox::logicalRightLayoutOverflow):
10327        (WebCore::RenderBox::minYVisualOverflow):
10328        (WebCore::RenderBox::maxYVisualOverflow):
10329        (WebCore::RenderBox::minXVisualOverflow):
10330        (WebCore::RenderBox::maxXVisualOverflow):
10331        (WebCore::RenderBox::logicalLeftVisualOverflow):
10332        (WebCore::RenderBox::logicalRightVisualOverflow):
10333        * rendering/RenderInline.cpp:
10334        (WebCore::RenderInline::linesVisualOverflowBoundingBox):
10335        * rendering/RenderLayerCompositor.cpp:
10336        (WebCore::RenderLayerCompositor::ensureRootPlatformLayer):
10337        * rendering/RenderLineBoxList.cpp:
10338        (WebCore::RenderLineBoxList::anyLineIntersectsRect):
10339        (WebCore::RenderLineBoxList::lineIntersectsDirtyRect):
10340        (WebCore::RenderLineBoxList::paint):
10341        (WebCore::RenderLineBoxList::hitTest):
10342        * rendering/RenderMarquee.cpp:
10343        (WebCore::RenderMarquee::computePosition):
10344        * rendering/RenderOverflow.h:
10345        (WebCore::RenderOverflow::RenderOverflow):
10346        (WebCore::RenderOverflow::minYLayoutOverflow):
10347        (WebCore::RenderOverflow::maxYLayoutOverflow):
10348        (WebCore::RenderOverflow::minXLayoutOverflow):
10349        (WebCore::RenderOverflow::maxXLayoutOverflow):
10350        (WebCore::RenderOverflow::minYVisualOverflow):
10351        (WebCore::RenderOverflow::maxYVisualOverflow):
10352        (WebCore::RenderOverflow::minXVisualOverflow):
10353        (WebCore::RenderOverflow::maxXVisualOverflow):
10354        (WebCore::RenderOverflow::setminYVisualOverflow):
10355        (WebCore::RenderOverflow::visualOverflowRect):
10356        (WebCore::RenderOverflow::move):
10357        (WebCore::RenderOverflow::addVisualOverflow):
10358        (WebCore::RenderOverflow::setVisualOverflow):
10359        * rendering/RenderReplaced.cpp:
10360        (WebCore::RenderReplaced::shouldPaint):
10361        * rendering/RenderTable.cpp:
10362        (WebCore::RenderTable::layout):
10363        (WebCore::RenderTable::paint):
10364        * rendering/RenderTableCell.cpp:
10365        (WebCore::RenderTableCell::clippedOverflowRectForRepaint):
10366        * rendering/RenderTreeAsText.cpp:
10367        (WebCore::writeLayers):
10368        * rendering/RenderView.cpp:
10369        (WebCore::RenderView::docTop):
10370
103712011-02-02  Steve Lacey  <sjl@chromium.org>
10372
10373        Reviewed by Eric Carlson.
10374
10375        Implement basic media statistics on media elements.
10376        https://bugs.webkit.org/show_bug.cgi?id=53322
10377
10378        * Configurations/FeatureDefines.xcconfig:
10379        * GNUmakefile.am:
10380        * features.pri:
10381        * html/HTMLMediaElement.cpp:
10382        (WebCore::HTMLMediaElement::webkitAudioBytesDecoded):
10383        (WebCore::HTMLMediaElement::webkitVideoBytesDecoded):
10384        * html/HTMLMediaElement.h:
10385        * html/HTMLMediaElement.idl:
10386        * html/HTMLVideoElement.cpp:
10387        (WebCore::HTMLVideoElement::webkitDecodedFrames):
10388        (WebCore::HTMLVideoElement::webkitDroppedFrames):
10389        * html/HTMLVideoElement.h:
10390        * html/HTMLVideoElement.idl:
10391        * platform/graphics/MediaPlayer.cpp:
10392        (WebCore::MediaPlayer::decodedFrames):
10393        (WebCore::MediaPlayer::droppedFrames):
10394        (WebCore::MediaPlayer::audioBytesDecoded):
10395        (WebCore::MediaPlayer::videoBytesDecoded):
10396        * platform/graphics/MediaPlayer.h:
10397        * platform/graphics/MediaPlayerPrivate.h:
10398        (WebCore::MediaPlayerPrivateInterface::decodedFrames):
10399        (WebCore::MediaPlayerPrivateInterface::droppedFrames):
10400        (WebCore::MediaPlayerPrivateInterface::audioBytesDecoded):
10401        (WebCore::MediaPlayerPrivateInterface::videoBytesDecoded):
10402
104032011-02-02  Luiz Agostini  <luiz.agostini@openbossa.org>
10404
10405        Reviewed by David Hyatt.
10406
10407        More conversion from right()/bottom() to maxX()/maxY().
10408
10409        * page/qt/FrameQt.cpp:
10410        (WebCore::Frame::dragImageForSelection):
10411        * platform/graphics/qt/GraphicsContextQt.cpp:
10412        (WebCore::GraphicsContext::roundToDevicePixels):
10413
104142011-02-02  Kevin Ollivier  <kevino@theolliviers.com>
10415
10416        [wx] Build fixes for wxWebKit.
10417
10418        * bindings/cpp/WebDOMHTMLDocumentCustom.cpp:
10419        (documentWrite):
10420        * bindings/scripts/CodeGeneratorCPP.pm:
10421        * page/wx/DragControllerWx.cpp:
10422        (WebCore::DragController::dragOperation):
10423        * platform/graphics/wx/FontCustomPlatformData.h:
10424        * platform/graphics/wx/FontPlatformData.h:
10425        (WebCore::FontPlatformData::widthVariant):
10426        * platform/graphics/wx/FontPlatformDataWx.cpp:
10427        (WebCore::FontPlatformData::computeHash):
10428        * platform/graphics/wx/FontWx.cpp:
10429        * platform/graphics/wx/GraphicsContextWx.cpp:
10430        (WebCore::GraphicsContext::fillPath):
10431        (WebCore::GraphicsContext::strokePath):
10432        * platform/wx/RenderThemeWx.cpp:
10433
104342011-02-02  David Hyatt  <hyatt@apple.com>
10435
10436        Reviewed by Darin Adler.
10437
10438        More right()/bottom() to maxX()/maxY() conversion.
10439
10440        * page/chromium/FrameChromium.cpp:
10441        (WebCore::Frame::nodeImage):
10442        (WebCore::Frame::dragImageForSelection):
10443
104442011-02-02  Sam Weinig  <sam@webkit.org>
10445
10446        Fix windows clean build.
10447
10448        * DerivedSources.make:
10449
104502011-02-02  Mikhail Naganov  <mnaganov@chromium.org>
10451
10452        Reviewed by Pavel Feldman.
10453
10454        Web Inspector: [Chromium] Landing detailed heap snapshots, part 2.
10455
10456        https://bugs.webkit.org/show_bug.cgi?id=53606
10457
10458        Display progress while taking a snapshot, and hints while loading
10459        and parsing. This is needed because taking detailed heap snapshots
10460        takes time.
10461
10462        * English.lproj/localizedStrings.js:
10463        * inspector/front-end/DetailedHeapshotView.js:
10464        (WebInspector.DetailedHeapshotProfileType.prototype.buttonClicked):
10465        * inspector/front-end/ProfilesPanel.js:
10466        (WebInspector.ProfilesPanel.prototype._reset):
10467        (WebInspector.ProfilesPanel.prototype._addProfileHeader):
10468        (WebInspector.ProfilesPanel.prototype.getProfiles):
10469        (WebInspector.ProfilesPanel.prototype.loadHeapSnapshot):
10470        (WebInspector.ProfilesPanel.prototype._finishHeapSnapshot.doParse):
10471        (WebInspector.ProfilesPanel.prototype._finishHeapSnapshot):
10472        (WebInspector.ProfilesPanel.prototype.takeHeapSnapshot):
10473        (WebInspector.ProfilesPanel.prototype._reportHeapSnapshotProgress):
10474        * inspector/front-end/SidebarTreeElement.js:
10475        (WebInspector.SidebarTreeElement.prototype.refreshTitles):
10476
104772011-02-02  David Hyatt  <hyatt@apple.com>
10478
10479        Reviewed by Darin Adler.
10480
10481        More conversion from right()/bottom() to maxX()/maxY().
10482
10483        * platform/win/PopupMenuWin.cpp:
10484        (WebCore::PopupMenuWin::calculatePositionAndSize):
10485        (WebCore::PopupMenuWin::paint):
10486
104872011-02-02  David Hyatt  <hyatt@apple.com>
10488
10489        Reviewed by Darin Adler.
10490
10491        Removal of right()/bottom().  Replace with maxX() and maxY().  Still converting.  Haven't removed yet.
10492
10493        * platform/chromium/PopupMenuChromium.cpp:
10494        (WebCore::PopupContainer::layoutAndCalculateWidgetRect):
10495        (WebCore::PopupListBox::scrollToRevealRow):
10496        (WebCore::PopupListBox::layout):
10497        * platform/graphics/FloatRect.h:
10498        * platform/graphics/IntRect.h:
10499        * platform/graphics/cairo/ImageBufferCairo.cpp:
10500        (WebCore::getImageData):
10501        (WebCore::putImageData):
10502        * platform/graphics/chromium/GLES2Canvas.cpp:
10503        (WebCore::GLES2Canvas::drawTexturedRect):
10504        * platform/graphics/chromium/LayerRendererChromium.cpp:
10505        (WebCore::LayerRendererChromium::verticalScrollbarRect):
10506        (WebCore::LayerRendererChromium::horizontalScrollbarRect):
10507        (WebCore::LayerRendererChromium::setScissorToRect):
10508        (WebCore::LayerRendererChromium::setDrawViewportRect):
10509        * platform/graphics/chromium/LayerTilerChromium.cpp:
10510        (WebCore::LayerTilerChromium::contentRectToTileIndices):
10511        (WebCore::LayerTilerChromium::growLayerToContain):
10512        * platform/graphics/gpu/TilingData.cpp:
10513        (WebCore::TilingData::tileBoundsWithBorder):
10514        (WebCore::TilingData::overlappedTileIndices):
10515        * platform/graphics/qt/ImageBufferQt.cpp:
10516        (WebCore::getImageData):
10517        (WebCore::putImageData):
10518        * platform/graphics/skia/FloatRectSkia.cpp:
10519        (WebCore::FloatRect::operator SkRect):
10520        * platform/graphics/skia/ImageBufferSkia.cpp:
10521        (WebCore::getImageData):
10522        (WebCore::putImageData):
10523        * platform/graphics/skia/IntRectSkia.cpp:
10524        (WebCore::IntRect::operator SkIRect):
10525        (WebCore::IntRect::operator SkRect):
10526        * platform/graphics/skia/PlatformContextSkia.cpp:
10527        (WebCore::PlatformContextSkia::beginLayerClippedToImage):
10528        * platform/graphics/win/GraphicsContextWin.cpp:
10529        (WebCore::GraphicsContextPlatformPrivate::clip):
10530        * platform/graphics/win/IntRectWin.cpp:
10531        (WebCore::IntRect::operator RECT):
10532        * platform/graphics/win/UniscribeController.cpp:
10533        (WebCore::UniscribeController::shapeAndPlaceItem):
10534        * platform/graphics/wince/GraphicsContextWinCE.cpp:
10535        (WebCore::roundRect):
10536        (WebCore::mapRect):
10537        (WebCore::TransparentLayerDC::TransparentLayerDC):
10538        (WebCore::GraphicsContext::drawRect):
10539        (WebCore::GraphicsContext::drawEllipse):
10540        (WebCore::GraphicsContext::strokeArc):
10541        (WebCore::GraphicsContext::clip):
10542        (WebCore::GraphicsContext::clipOut):
10543        (WebCore::GraphicsContext::strokeRect):
10544        * platform/image-decoders/gif/GIFImageDecoder.cpp:
10545        (WebCore::GIFImageDecoder::initFrameBuffer):
10546        * platform/win/PopupMenuWin.cpp:
10547        (WebCore::PopupMenuWin::calculatePositionAndSize):
10548        (WebCore::PopupMenuWin::paint):
10549        * plugins/win/PluginViewWin.cpp:
10550        (WebCore::PluginView::updatePluginWidget):
10551        (WebCore::PluginView::invalidateRect):
10552        * rendering/RenderThemeSafari.cpp:
10553        (WebCore::RenderThemeSafari::paintMenuListButtonGradients):
10554        (WebCore::RenderThemeSafari::paintMenuListButton):
10555        (WebCore::RenderThemeSafari::paintSliderTrack):
10556        * rendering/RenderThemeWin.cpp:
10557        (WebCore::RenderThemeWin::paintInnerSpinButton):
10558        (WebCore::RenderThemeWin::paintMenuListButton):
10559
105602011-02-02  Antti Koivisto  <antti@apple.com>
10561
10562        Reviewed by Maciej Stachowiak.
10563
10564        Use Vector instead of a linked list for rules in CSSStyleSelector
10565        https://bugs.webkit.org/show_bug.cgi?id=53581
10566        
10567        - eliminate CSSRuleDataList, replace with Vector<RuleData>
10568        - rename CSSRuleData -> RuleData and CSSRuleSet -> RuleSet 
10569          (these are selector internal classes, CSS prefix is better reserved for public ones).
10570        - constify a bit
10571        - shrink the vectors to fit after collecting the rules
10572
10573        * css/CSSStyleSelector.cpp:
10574        (WebCore::RuleData::RuleData):
10575        (WebCore::RuleData::position):
10576        (WebCore::RuleData::rule):
10577        (WebCore::RuleData::selector):
10578        (WebCore::RuleSet::disableAutoShrinkToFit):
10579        (WebCore::RuleSet::getIDRules):
10580        (WebCore::RuleSet::getClassRules):
10581        (WebCore::RuleSet::getTagRules):
10582        (WebCore::RuleSet::getPseudoRules):
10583        (WebCore::RuleSet::getUniversalRules):
10584        (WebCore::RuleSet::getPageRules):
10585        (WebCore::collectSiblingRulesInDefaultStyle):
10586        (WebCore::CSSStyleSelector::CSSStyleSelector):
10587        (WebCore::loadFullDefaultStyle):
10588        (WebCore::loadSimpleDefaultStyle):
10589        (WebCore::loadViewSourceStyle):
10590        (WebCore::CSSStyleSelector::matchRules):
10591        (WebCore::CSSStyleSelector::matchRulesForList):
10592        (WebCore::operator >):
10593        (WebCore::operator <=):
10594        (WebCore::CSSStyleSelector::sortMatchedRules):
10595        (WebCore::CSSStyleSelector::matchUARules):
10596        (WebCore::RuleSet::RuleSet):
10597        (WebCore::RuleSet::~RuleSet):
10598        (WebCore::RuleSet::addToRuleSet):
10599        (WebCore::RuleSet::addRule):
10600        (WebCore::RuleSet::addPageRule):
10601        (WebCore::RuleSet::addRulesFromSheet):
10602        (WebCore::RuleSet::addStyleRule):
10603        (WebCore::collectIdsAndSiblingRulesFromList):
10604        (WebCore::RuleSet::collectIdsAndSiblingRules):
10605        (WebCore::shrinkMapVectorsToFit):
10606        (WebCore::RuleSet::shrinkToFit):
10607        (WebCore::CSSStyleSelector::matchPageRules):
10608        (WebCore::CSSStyleSelector::matchPageRulesForList):
10609        * css/CSSStyleSelector.h:
10610        (WebCore::CSSStyleSelector::addMatchedRule):
10611
106122011-02-02  Andrey Adaikin  <aandrey@google.com>
10613
10614        Reviewed by Pavel Feldman.
10615
10616        Web Inspector: Use DIVs instead of TABLE in TextViewer
10617        https://bugs.webkit.org/show_bug.cgi?id=53299
10618
10619        * inspector/front-end/SourceFrame.js:
10620        (WebInspector.SourceFrame.prototype._createTextViewer):
10621        (WebInspector.SourceFrame.prototype._mouseDown):
10622        * inspector/front-end/TextViewer.js:
10623        (WebInspector.TextViewer):
10624        (WebInspector.TextViewer.prototype.set mimeType):
10625        (WebInspector.TextViewer.prototype.revealLine):
10626        (WebInspector.TextViewer.prototype.addDecoration):
10627        (WebInspector.TextViewer.prototype.removeDecoration):
10628        (WebInspector.TextViewer.prototype.markAndRevealRange):
10629        (WebInspector.TextViewer.prototype.highlightLine):
10630        (WebInspector.TextViewer.prototype.clearLineHighlight):
10631        (WebInspector.TextViewer.prototype.freeCachedElements):
10632        (WebInspector.TextViewer.prototype._handleKeyDown):
10633        (WebInspector.TextViewer.prototype.editLine.finishEditing):
10634        (WebInspector.TextViewer.prototype.editLine):
10635        (WebInspector.TextViewer.prototype.beginUpdates):
10636        (WebInspector.TextViewer.prototype.endUpdates):
10637        (WebInspector.TextViewer.prototype.resize):
10638        (WebInspector.TextViewer.prototype._textChanged):
10639        (WebInspector.TextViewer.prototype._updatePanelOffsets):
10640        (WebInspector.TextViewer.prototype._syncScroll):
10641        (WebInspector.TextViewer.prototype._syncDecorationsForLine):
10642        (WebInspector.TextEditorChunkedPanel):
10643        (WebInspector.TextEditorChunkedPanel.prototype.set syncScrollListener):
10644        (WebInspector.TextEditorChunkedPanel.prototype.get textModel):
10645        (WebInspector.TextEditorChunkedPanel.prototype.addDecoration):
10646        (WebInspector.TextEditorChunkedPanel.prototype.removeDecoration):
10647        (WebInspector.TextEditorChunkedPanel.prototype.revealLine):
10648        (WebInspector.TextEditorChunkedPanel.prototype.makeLineAChunk):
10649        (WebInspector.TextEditorChunkedPanel.prototype.textChanged):
10650        (WebInspector.TextEditorChunkedPanel.prototype.beginUpdates):
10651        (WebInspector.TextEditorChunkedPanel.prototype.endUpdates):
10652        (WebInspector.TextEditorChunkedPanel.prototype.resize):
10653        (WebInspector.TextEditorChunkedPanel.prototype._scroll):
10654        (WebInspector.TextEditorChunkedPanel.prototype._scheduleRepaintAll):
10655        (WebInspector.TextEditorChunkedPanel.prototype._buildChunks):
10656        (WebInspector.TextEditorChunkedPanel.prototype._repaintAll):
10657        (WebInspector.TextEditorChunkedPanel.prototype._chunkNumberForLine):
10658        (WebInspector.TextEditorChunkedPanel.prototype._chunkForLine):
10659        (WebInspector.TextEditorGutterPanel):
10660        (WebInspector.TextEditorGutterPanel.prototype.freeCachedElements):
10661        (WebInspector.TextEditorGutterPanel.prototype._createNewChunk):
10662        (WebInspector.TextEditorGutterPanel.prototype._expandChunks):
10663        (WebInspector.TextEditorGutterChunk):
10664        (WebInspector.TextEditorGutterChunk.prototype.get expanded):
10665        (WebInspector.TextEditorGutterChunk.prototype.set expanded):
10666        (WebInspector.TextEditorGutterChunk.prototype.get height):
10667        (WebInspector.TextEditorGutterChunk.prototype._createRow):
10668        (WebInspector.TextEditorMainPanel):
10669        (WebInspector.TextEditorMainPanel.prototype.set syncDecorationsForLine):
10670        (WebInspector.TextEditorMainPanel.prototype.set mimeType):
10671        (WebInspector.TextEditorMainPanel.prototype.markAndRevealRange):
10672        (WebInspector.TextEditorMainPanel.prototype.highlightLine):
10673        (WebInspector.TextEditorMainPanel.prototype.clearLineHighlight):
10674        (WebInspector.TextEditorMainPanel.prototype.freeCachedElements):
10675        (WebInspector.TextEditorMainPanel.prototype._buildChunks):
10676        (WebInspector.TextEditorMainPanel.prototype._createNewChunk):
10677        (WebInspector.TextEditorMainPanel.prototype._expandChunks):
10678        (WebInspector.TextEditorMainPanel.prototype._highlightDataReady):
10679        (WebInspector.TextEditorMainPanel.prototype._paintLines):
10680        (WebInspector.TextEditorMainPanel.prototype._paintLine):
10681        (WebInspector.TextEditorMainPanel.prototype._releaseLinesHighlight):
10682        (WebInspector.TextEditorMainPanel.prototype._getSelection):
10683        (WebInspector.TextEditorMainPanel.prototype._restoreSelection):
10684        (WebInspector.TextEditorMainPanel.prototype._selectionToPosition):
10685        (WebInspector.TextEditorMainPanel.prototype._positionToSelection):
10686        (WebInspector.TextEditorMainPanel.prototype._appendTextNode):
10687        (WebInspector.TextEditorMainPanel.prototype._handleDomUpdates):
10688        (WebInspector.TextEditorMainChunk):
10689        (WebInspector.TextEditorMainChunk.prototype.addDecoration):
10690        (WebInspector.TextEditorMainChunk.prototype.set expanded):
10691        (WebInspector.TextEditorMainChunk.prototype.get height):
10692        (WebInspector.TextEditorMainChunk.prototype.getExpandedLineRow):
10693        (WebInspector.TextEditorMainChunk.prototype._createRow):
10694        (WebInspector):
10695        * inspector/front-end/textViewer.css:
10696        (.text-editor-lines):
10697        (.text-editor-contents):
10698        (.text-editor-editable):
10699        (.webkit-line-decorations):
10700        (.webkit-line-number):
10701        (.webkit-execution-line.webkit-line-content):
10702        (.diff-container .webkit-added-line.webkit-line-content):
10703        (.diff-container .webkit-removed-line.webkit-line-content):
10704        (.diff-container .webkit-changed-line.webkit-line-content):
10705        (.webkit-highlighted-line.webkit-line-content):
10706
107072011-02-02  Hans Wennborg  <hans@chromium.org>
10708
10709        Reviewed by Jeremy Orlow.
10710
10711        IndexedDB: Implement support for cursor updates
10712        https://bugs.webkit.org/show_bug.cgi?id=53421
10713
10714        Implement support for cursor updates using the same pattern as cursor
10715        deletes: forward the calls to the IDBObjectStoreBackend::put().
10716        The put() function's signature needs to be changed to allow for a
10717        "cursor update mode". This makes the signature more clear anyway,
10718        since it replaces the boolean parameter.
10719
10720        Test: storage/indexeddb/cursor-update.html
10721
10722        * storage/IDBCursor.idl:
10723        * storage/IDBCursorBackendImpl.cpp:
10724        (WebCore::IDBCursorBackendImpl::key):
10725        (WebCore::IDBCursorBackendImpl::update):
10726        * storage/IDBCursorBackendImpl.h:
10727        * storage/IDBObjectStore.cpp:
10728        (WebCore::IDBObjectStore::add):
10729        (WebCore::IDBObjectStore::put):
10730        * storage/IDBObjectStoreBackendImpl.cpp:
10731        (WebCore::IDBObjectStoreBackendImpl::put):
10732        (WebCore::IDBObjectStoreBackendImpl::putInternal):
10733        * storage/IDBObjectStoreBackendImpl.h:
10734        * storage/IDBObjectStoreBackendInterface.h:
10735
107362011-02-02  Naoki Takano  <takano.naoki@gmail.com>
10737
10738        Reviewed by Kent Tamura.
10739
10740        Fix popup menu RTL bug introduced by Changeset 75982.
10741        https://bugs.webkit.org/show_bug.cgi?id=53567
10742
10743        PopupMenuChromium::layout() calculates X position according to RTL or not. So Change the X position calculation in layoutAndCalculateWidgetRect().
10744
10745        No new tests. However we can check manually with select_dropdown_box_alignment.html, autofill_alignment.html, select_alignment.html, select_dropdown_box_alignment.html, autofill-popup-width-and-item-direction.html
10746
10747        * platform/chromium/PopupMenuChromium.cpp:
10748        (WebCore::PopupContainer::layoutAndCalculateWidgetRect): Fix calculation of x position, because layout() considers RTL. And change the parameter from both X and Y positions to only Y position.
10749        (WebCore::PopupContainer::showPopup): Change the passing parameter.
10750        (WebCore::PopupContainer::refresh): Change the passing parameter.
10751        * platform/chromium/PopupMenuChromium.h: Change the parameter declaration.
10752
107532011-02-02  Alejandro G. Castro  <alex@igalia.com>
10754
10755        Reviewed by Martin Robinson.
10756
10757        [GTK] Fix dist compilation
10758        https://bugs.webkit.org/show_bug.cgi?id=53579
10759
10760        * GNUmakefile.am: Added FontWidthVariant.h to the sources, it was
10761        added in r77153.
10762
107632011-02-02  Dai Mikurube  <dmikurube@google.com>
10764
10765        Reviewed by David Levin.
10766
10767        Make mime type lookup in File::create(path) thread-safe
10768        https://bugs.webkit.org/show_bug.cgi?id=47700
10769
10770        This patch introduces a new function MIMETypeRegistry::getMIMETypeForExtensionThreadSafe().
10771        The function is to be called as a thread-safe version of getMIMETypeForExtension() when
10772        both FILE_SYSTEM and WORKERS are enabled.
10773
10774        No tests for this patch. This patch itself doesn't change the behaviors.
10775        For Chromium, it runs in the same way with getMIMETypeForExtensionThreadSafe().
10776        For the other platforms, it causes compilation error in case of enabled FILE_SYSTEM and WORKERS.
10777        The compilation error would be a signal to implement getMIMETypeForExtensionThreadSafe() in these
10778        platforms. Currently it doesn't happen since FILE_SYSTEM is not available in the other platforms.
10779
10780        * platform/MIMETypeRegistry.cpp: Defined generic getMIMETypeForExtension() calling getMIMETypeForExtensionThreadSafe() for enabled FILE_SYSTEM and WORKERS.
10781        (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
10782        * platform/MIMETypeRegistry.h: Declared getMIMETypeForExtensionThreadSafe() which should be implemented for each platform.
10783        * platform/android/TemporaryLinkStubs.cpp:
10784        (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
10785        * platform/brew/MIMETypeRegistryBrew.cpp:
10786        (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
10787        * platform/chromium/MIMETypeRegistryChromium.cpp: Defined getMIMETypeForExtensionThreadSafe() for the case when FILE_SYSTEM and WORKERS are enabled.
10788        (WebCore::MIMETypeRegistry::getMIMETypeForExtensionThreadSafe):
10789        * platform/efl/MIMETypeRegistryEfl.cpp:
10790        (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
10791        * platform/gtk/MIMETypeRegistryGtk.cpp:
10792        (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
10793        * platform/haiku/MIMETypeRegistryHaiku.cpp:
10794        (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
10795        * platform/mac/MIMETypeRegistryMac.mm:
10796        (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
10797        * platform/qt/MIMETypeRegistryQt.cpp:
10798        (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
10799        * platform/win/MIMETypeRegistryWin.cpp:
10800        (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
10801        * platform/wince/MIMETypeRegistryWinCE.cpp:
10802        (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
10803        * platform/wx/MimeTypeRegistryWx.cpp:
10804        (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
10805
108062011-02-01  Adam Barth  <abarth@webkit.org>
10807
10808        Reviewed by Alexey Proskuryakov.
10809
10810        Improve readability of updateWidget by converting bool parameter to an enum
10811        https://bugs.webkit.org/show_bug.cgi?id=53576
10812
10813        As requested on webkit-dev.
10814
10815        * html/HTMLEmbedElement.cpp:
10816        (WebCore::HTMLEmbedElement::updateWidget):
10817        * html/HTMLEmbedElement.h:
10818        * html/HTMLMediaElement.cpp:
10819        (WebCore::HTMLMediaElement::updateWidget):
10820        * html/HTMLMediaElement.h:
10821        * html/HTMLObjectElement.cpp:
10822        (WebCore::HTMLObjectElement::updateWidget):
10823        * html/HTMLObjectElement.h:
10824        * html/HTMLPlugInImageElement.cpp:
10825        (WebCore::HTMLPlugInImageElement::updateWidgetIfNecessary):
10826        * html/HTMLPlugInImageElement.h:
10827        * page/FrameView.cpp:
10828        (WebCore::FrameView::updateWidget):
10829
108302011-02-01  James Robinson  <jamesr@chromium.org>
10831
10832        Reviewed by Adam Barth.
10833
10834        [v8] Increase V8 native->js recursion limit to match document.write() recursion limit
10835        https://bugs.webkit.org/show_bug.cgi?id=53566
10836
10837        A recursion limit of 22 is necessary to pass fast/dom/Document/document-write-recursion.html.
10838        Other than being large enough for this one test case, this limit is arbitrary.
10839
10840        * bindings/v8/V8Proxy.h:
10841
108422011-02-01  Adam Barth  <abarth@webkit.org>
10843
10844        Reviewed by Andreas Kling.
10845
10846        Remove useless comment
10847        https://bugs.webkit.org/show_bug.cgi?id=53549
10848
10849        The reason for this parameter is captured in
10850        plugins/netscape-plugin-setwindow-size.html, which is a better place to
10851        capture it than in this comment (which otherwise just re-iterates the
10852        name of the parameter).
10853
10854        * html/HTMLPlugInImageElement.cpp:
10855        (WebCore::HTMLPlugInImageElement::updateWidgetIfNecessary):
10856
108572011-02-01  James Simonsen  <simonjam@chromium.org>
10858
10859        Reviewed by Tony Gentilcore.
10860
10861        [WebTiming] Remove asserts that verify timestamp order
10862        https://bugs.webkit.org/show_bug.cgi?id=53548
10863
10864        Covered by existing tests.
10865
10866        * loader/FrameLoader.cpp:
10867        (WebCore::FrameLoader::stopLoading): Remove assert.
10868        * page/DOMWindow.cpp:
10869        (WebCore::DOMWindow::dispatchTimedEvent): Ditto.
10870
108712011-02-01  Dimitri Glazkov  <dglazkov@chromium.org>
10872
10873        Add the 'default_targets' enclosure to the flags.
10874
10875        * WebCore.gyp/WebCore.gyp: Did it.
10876
108772011-02-01  Mihai Parparita  <mihaip@chromium.org>
10878
10879        Reviewed by James Robinson.
10880
10881        Async event handlers should not fire within a modal dialog
10882        https://bugs.webkit.org/show_bug.cgi?id=53202
10883
10884        Asychronous events that use EventQueue would currently fire while a
10885        modal dialog (e.g. window.alert()) was up. Change EventQueue to use a
10886        SuspendableTimer (which automatically gets suspended while dialogs are
10887        up and in other cases where JS execution is not allowed).
10888        
10889        Test: fast/events/scroll-event-during-modal-dialog.html
10890
10891        * dom/Document.cpp:
10892        (WebCore::Document::Document):
10893        * dom/EventQueue.cpp:
10894        (WebCore::EventQueueTimer::EventQueueTimer):
10895        (WebCore::EventQueueTimer::fired):
10896        (WebCore::EventQueue::EventQueue):
10897        (WebCore::EventQueue::enqueueEvent):
10898        (WebCore::EventQueue::pendingEventTimerFired):
10899        * dom/EventQueue.h:
10900        (WebCore::EventQueue::create):
10901        * page/SuspendableTimer.cpp:
10902        (WebCore::SuspendableTimer::SuspendableTimer):
10903        (WebCore::SuspendableTimer::suspend):
10904        (WebCore::SuspendableTimer::resume):
10905        * page/SuspendableTimer.h:
10906
109072011-02-01  Patrick Gansterer  <paroga@webkit.org>
10908
10909        Reviewed by Andreas Kling.
10910
10911        Change wrong PLATFORM(WIN) to USE(WININET)
10912        https://bugs.webkit.org/show_bug.cgi?id=53547
10913
10914        * platform/network/ResourceHandle.h:
10915
109162011-02-01  Beth Dakin  <bdakin@apple.com>
10917
10918        32-bit build fix.
10919
10920        * platform/mac/ScrollAnimatorMac.mm:
10921        (-[ScrollbarPainterControllerDelegate contentAreaRectForScrollerImpPair:]):
10922
109232011-01-25  Martin Robinson  <mrobinson@igalia.com>
10924
10925        Reviewed by Gustavo Noronha Silva.
10926
10927        [GTK] Two tests crash after r76555
10928        https://bugs.webkit.org/show_bug.cgi?id=53057
10929
10930        Instead of creating synchronous ResourceHandles manually, use the ::create factory.
10931        This ensures that ::start() is not called when there is a scheduled failure and also
10932        reduces code duplication.
10933
10934        * platform/network/soup/ResourceHandleSoup.cpp:
10935        (WebCore::ResourceHandle::loadResourceSynchronously): Use the ::create factory method.
10936
109372011-02-01  Martin Robinson  <mrobinson@igalia.com>
10938
10939        Reviewed by Eric Seidel.
10940
10941        [GTK] GObject DOM bindings do no support the CallWith attribute
10942        https://bugs.webkit.org/show_bug.cgi?id=53331
10943
10944        Disable building GObject DOM bindings for IndexedDB because we do not support
10945        the CallWith attribute at this time.
10946
10947        * bindings/gobject/GNUmakefile.am: Disable building bindings for the IndexedDB API.
10948
109492011-02-01  Darin Adler  <darin@apple.com>
10950
10951        Reviewed by Brady Eidson.
10952
10953        Fix a couple loose ends from the back/forward tree encode/decode work
10954        https://bugs.webkit.org/show_bug.cgi?id=53537
10955
10956        * history/HistoryItem.cpp:
10957        (WebCore::HistoryItem::encodeBackForwardTreeNode): Remove extra copy of
10958        original URL string; no need to encode it twice.
10959        (WebCore::HistoryItem::decodeBackForwardTree): Ditto.
10960        * history/HistoryItem.h: Removed declaration for function that is no
10961        longer defined nor used.
10962
109632011-02-01  Tony Chang  <tony@chromium.org>
10964
10965        Reviewed by Kent Tamura.
10966
10967        [chromium] disable arm uninitialized variable warnings
10968        https://bugs.webkit.org/show_bug.cgi?id=53553
10969
10970        We just got another error:
10971        third_party/WebKit/Source/WebCore/css/CSSPrimitiveValue.cpp:123:error:
10972        'colorTransparent.unstatic.4879' may be used uninitialized in this
10973        function
10974
10975        * WebCore.gyp/WebCore.gyp:
10976
109772011-02-01  chris reiss  <christopher.reiss@nokia.com>
10978
10979        Reviewed by Adam Barth.
10980
10981        Self-replicating code makes Safari hang and eventually crash
10982        https://bugs.webkit.org/show_bug.cgi?id=15123
10983
10984       
10985        Here we are replicating the Firefox safeguard against
10986        recursive document.write( ) 's.
10987
10988        See  https://bug197052.bugzilla.mozilla.org/attachment.cgi?id=293907 in bug 
10989        https://bugzilla.mozilla.org/show_bug.cgi?id=197052 .   Firefox does two things - 
10990            a) imposes a recursion limit of 20 on document.write( ) and
10991            b) once that limit is passed, panics all the way the call stack (rather than just returning one level.)
10992        To see why this is necessary, consider the script : 
10993
10994        <script>
10995           var t = document.body.innerHTML;
10996           document.write(t);
10997        </script> 
10998
10999        This will create a tree both broad and deep as the script keeps appending itself to the text.   If
11000        we just return one level after the recursion limit is reached, we still allow millions of copies to 
11001        duplicate (and execute).   
11002
11003        The recursion is fortunately depth-first, so as soon as we cross this limit, we panic up the callstack
11004        to prevent this situation.    (IE apparently does the same thing, with a lower recursion limit.) 
11005
11006        Test: fast/dom/Document/document-write-recursion.html        
11007        Test: fast/dom/Document/document-close-iframe-load.html
11008        Test: fast/dom/Document/document-close-nested-iframe-load.html
11009
11010
11011        * dom/Document.cpp:
11012        (WebCore::Document::Document):
11013        (WebCore::Document::write):
11014        * dom/Document.h:
11015
110162011-02-01  Johnny Ding  <jnd@chromium.org>
11017
11018        Reviewed by Darin Adler.
11019
11020        Don't set user gesture in HTMLAnchorElement's click handler because the click handler can be triggered by untrusted event.
11021        https://bugs.webkit.org/show_bug.cgi?id=53424
11022
11023        Test: fast/events/popup-blocked-from-untrusted-click-event-on-anchor.html
11024
11025        * html/HTMLAnchorElement.cpp:
11026        (WebCore::handleLinkClick):
11027
110282011-02-01  Csaba Osztrogonác  <ossy@webkit.org>
11029
11030        Unreviewed Qt buildfix after r77286.
11031
11032        https://bugs.webkit.org/show_bug.cgi?id=53520 
11033        Remove the physical terminology from IntRect and FloatRect.
11034
11035        * platform/graphics/TiledBackingStore.cpp:
11036        (WebCore::TiledBackingStore::createTiles):
11037
110382011-02-01  Sam Weinig  <sam@webkit.org>
11039
11040        Fix Mac production builds.
11041
11042        * DerivedSources.make:
11043        * WebCore.xcodeproj/project.pbxproj:
11044        * platform/mac/ScrollAnimatorMac.h:
11045        * platform/mac/ScrollbarThemeMac.h:
11046
110472011-02-01  Darin Adler  <darin@apple.com>
11048
11049        Reviewed by Chris Fleizach.
11050
11051        REGRESSION: Removing focus from area element causes unwanted scrolling
11052        https://bugs.webkit.org/show_bug.cgi?id=50169
11053
11054        Test: fast/images/imagemap-scroll.html
11055
11056        * html/HTMLAreaElement.cpp:
11057        (WebCore::HTMLAreaElement::setFocus): Added override. Calls the new
11058        RenderImage::areaElementFocusChanged function.
11059        (WebCore::HTMLAreaElement::updateFocusAppearance): Removed the code
11060        here that calls setNeedsLayout on the image's renderer. This was an
11061        attempt to cause repaint of the renderer, but this function does not
11062        need to do that. Also changed this to use the imageElement function
11063        to avoid repeating code.
11064
11065        * html/HTMLAreaElement.h: Updated for above changes.
11066
11067        * rendering/RenderImage.cpp:
11068        (WebCore::RenderImage::paint): Updated for name change.
11069        (WebCore::RenderImage::paintAreaElementFocusRing): Renamed this from
11070        paintFocusRing, because it only paints area focus rings, and should
11071        not be confused with paintFocusRing functions in other classes. Also
11072        removed the unused style argument. Removed the code that used an
11073        HTMLCollection to see if the focused area element is for this image
11074        and instead just call imageElement on the area element.
11075        (WebCore::RenderImage::areaElementFocusChanged): Added. Calls repaint.
11076
11077        * rendering/RenderImage.h: Added a public areaElementFocusChanged
11078        function for HTMLAreaElement to call. Made the paintFocusRing function
11079        private, renamed it to paintAreaElementFocusRing, and removed its
11080        unused style argument.
11081
110822011-02-01  Patrick Gansterer  <paroga@webkit.org>
11083
11084        Unreviewed WinCE build fix for r77286.
11085
11086        * platform/graphics/wince/GraphicsContextWinCE.cpp:
11087        (WebCore::TransparentLayerDC::TransparentLayerDC):
11088
110892011-02-01  Chris Fleizach  <cfleizach@apple.com>
11090
11091        Reviewed by Darin Adler.
11092
11093        AX: AXPosition of AXScrollArea is wrong
11094        https://bugs.webkit.org/show_bug.cgi?id=53511
11095
11096        AccessibilityScrollView needed to return a valid documentFrameView() object.
11097        At the same time, the code from document() should be consolidated in 
11098        AccessibilityObject, so all objects can use it.
11099
11100        Test: platform/mac/accessibility/webkit-scrollarea-position.html
11101
11102        * accessibility/AccessibilityObject.cpp:
11103        (WebCore::AccessibilityObject::document):
11104        * accessibility/AccessibilityObject.h:
11105        * accessibility/AccessibilityScrollView.cpp:
11106        (WebCore::AccessibilityScrollView::accessibilityHitTest):
11107        (WebCore::AccessibilityScrollView::documentFrameView):
11108        * accessibility/AccessibilityScrollView.h:
11109
111102011-02-01  Zhenyao Mo  <zmo@google.com>
11111
11112        Reviewed by Kenneth Russell.
11113
11114        getUniform should support SAMPLER_2D or SAMPLER_CUBE
11115        https://bugs.webkit.org/show_bug.cgi?id=52190
11116
11117        * html/canvas/WebGLRenderingContext.cpp:
11118        (WebCore::WebGLRenderingContext::getUniform):
11119
111202011-02-01  Zhenyao Mo  <zmo@google.com>
11121
11122        Reviewed by Darin Adler.
11123
11124        Fix the incorrect usage of RetainPtr cases in GraphicsContext3DCG.cpp
11125        https://bugs.webkit.org/show_bug.cgi?id=53531
11126
11127        With this fix, running WebGL conformance tests should no longer crash randomly.
11128
11129        * platform/graphics/cg/GraphicsContext3DCG.cpp:
11130        (WebCore::GraphicsContext3D::getImageData):
11131
111322011-02-01  Dimitri Glazkov  <dglazkov@chromium.org>
11133
11134        One more Chromium build fix after r77286.
11135
11136        * platform/chromium/ScrollbarThemeChromiumMac.mm:
11137        (WebCore::ScrollbarThemeChromiumMac::paint): Changed to not use topLeft().
11138
111392011-02-01  Sam Weinig  <sam@webkit.org>
11140
11141        Fix the build for Beth.
11142
11143        * platform/mac/ScrollAnimatorMac.mm:
11144        (-[ScrollbarPainterControllerDelegate inLiveResizeForScrollerImpPair:]):
11145
111462011-02-01  Sam Weinig  <sam@webkit.org>
11147
11148        Reviewed by Beth Dakin.
11149
11150        Part 2 for <rdar://problem/8492788>
11151        Adopt WKScrollbarPainterController
11152
11153        Use header detection to define scrollbar painting controller #define.
11154
11155        * WebCore.exp.in:
11156        * platform/mac/ScrollAnimatorMac.h:
11157        * platform/mac/ScrollbarThemeMac.h:
11158        * platform/mac/WebCoreSystemInterface.h:
11159        * platform/mac/WebCoreSystemInterface.mm:
11160
111612011-02-01  David Hyatt  <hyatt@apple.com>
11162
11163        Reviewed by Oliver Hunt.
11164
11165        https://bugs.webkit.org/show_bug.cgi?id=53520
11166        
11167        Remove the physical terminology from IntRect and FloatRect.
11168        
11169        Now that we have flipped RenderBlocks for vertical-rl and horizontal-bt writing modes,
11170        we need to update our terminology to be more accurate.
11171
11172        I'm borrowing a page from AppKit here (which also supports flipped NSViews) and
11173        renaming right() and bottom() to maxX() and maxY().  These terms remain accurate
11174        even for flipped rectangles.
11175
11176        * accessibility/AccessibilityRenderObject.cpp:
11177        (WebCore::AccessibilityRenderObject::boundsForVisiblePositionRange):
11178        * accessibility/mac/AccessibilityObjectWrapper.mm:
11179        (-[AccessibilityObjectWrapper position]):
11180        * dom/ClientRect.h:
11181        (WebCore::ClientRect::right):
11182        (WebCore::ClientRect::bottom):
11183        * html/HTMLCanvasElement.cpp:
11184        (WebCore::HTMLCanvasElement::convertLogicalToDevice):
11185        * html/canvas/CanvasRenderingContext2D.cpp:
11186        (WebCore::normalizeRect):
11187        * inspector/InspectorAgent.cpp:
11188        (WebCore::InspectorAgent::drawElementTitle):
11189        * page/DOMWindow.cpp:
11190        (WebCore::DOMWindow::adjustWindowRect):
11191        * page/DragController.cpp:
11192        (WebCore::dragLocForSelectionDrag):
11193        * page/EventHandler.cpp:
11194        (WebCore::EventHandler::sendContextMenuEventForKey):
11195        * page/PrintContext.cpp:
11196        (WebCore::PrintContext::computePageRectsWithPageSizeInternal):
11197        (WebCore::PrintContext::pageNumberForElement):
11198        * page/SpatialNavigation.cpp:
11199        (WebCore::end):
11200        (WebCore::areRectsFullyAligned):
11201        (WebCore::areRectsMoreThanFullScreenApart):
11202        (WebCore::below):
11203        (WebCore::rightOf):
11204        (WebCore::isRectInDirection):
11205        (WebCore::entryAndExitPointsForDirection):
11206        (WebCore::virtualRectForDirection):
11207        * page/WindowFeatures.cpp:
11208        (WebCore::WindowFeatures::WindowFeatures):
11209        * platform/ScrollView.cpp:
11210        (WebCore::ScrollView::wheelEvent):
11211        * platform/Scrollbar.cpp:
11212        (WebCore::Scrollbar::setFrameRect):
11213        * platform/ScrollbarThemeComposite.cpp:
11214        (WebCore::ScrollbarThemeComposite::splitTrack):
11215        * platform/chromium/ScrollbarThemeChromium.cpp:
11216        (WebCore::ScrollbarThemeChromium::paintTickmarks):
11217        * platform/graphics/FloatQuad.h:
11218        (WebCore::FloatQuad::FloatQuad):
11219        * platform/graphics/FloatRect.cpp:
11220        (WebCore::FloatRect::intersects):
11221        (WebCore::FloatRect::contains):
11222        (WebCore::FloatRect::intersect):
11223        (WebCore::FloatRect::unite):
11224        (WebCore::enclosingIntRect):
11225        * platform/graphics/FloatRect.h:
11226        (WebCore::FloatRect::maxX):
11227        (WebCore::FloatRect::maxY):
11228        (WebCore::FloatRect::contains):
11229        * platform/graphics/IntRect.cpp:
11230        (WebCore::IntRect::intersects):
11231        (WebCore::IntRect::contains):
11232        (WebCore::IntRect::intersect):
11233        (WebCore::IntRect::unite):
11234        * platform/graphics/IntRect.h:
11235        (WebCore::IntRect::maxX):
11236        (WebCore::IntRect::maxY):
11237        (WebCore::IntRect::shiftXEdgeTo):
11238        (WebCore::IntRect::shiftMaxXEdgeTo):
11239        (WebCore::IntRect::shiftYEdgeTo):
11240        (WebCore::IntRect::shiftMaxYEdgeTo):
11241        (WebCore::IntRect::contains):
11242        * platform/graphics/WidthIterator.cpp:
11243        (WebCore::WidthIterator::advance):
11244        * platform/graphics/cg/GraphicsContextCG.cpp:
11245        (WebCore::GraphicsContext::drawRect):
11246        (WebCore::GraphicsContext::fillPath):
11247        (WebCore::GraphicsContext::fillRect):
11248        * platform/graphics/cg/ImageBufferCG.cpp:
11249        (WebCore::getImageData):
11250        (WebCore::putImageData):
11251        * platform/graphics/cg/ImageCG.cpp:
11252        (WebCore::BitmapImage::draw):
11253        * platform/graphics/filters/FilterEffect.cpp:
11254        (WebCore::FilterEffect::copyImageBytes):
11255        * platform/graphics/mac/ComplexTextController.cpp:
11256        (WebCore::ComplexTextController::adjustGlyphsAndAdvances):
11257        * platform/graphics/mac/SimpleFontDataMac.mm:
11258        (WebCore::SimpleFontData::platformBoundsForGlyph):
11259        * platform/graphics/transforms/AffineTransform.cpp:
11260        (WebCore::AffineTransform::mapRect):
11261        * platform/graphics/win/FontCGWin.cpp:
11262        (WebCore::drawGDIGlyphs):
11263        * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
11264        (WebCore::MediaPlayerPrivate::paint):
11265        * platform/gtk/RenderThemeGtk.cpp:
11266        (WebCore::centerRectVerticallyInParentInputElement):
11267        * platform/mac/WidgetMac.mm:
11268        (WebCore::Widget::paint):
11269        * rendering/InlineFlowBox.cpp:
11270        (WebCore::InlineFlowBox::addBoxShadowVisualOverflow):
11271        (WebCore::InlineFlowBox::addTextBoxVisualOverflow):
11272        * rendering/InlineTextBox.cpp:
11273        (WebCore::InlineTextBox::selectionRect):
11274        (WebCore::InlineTextBox::paint):
11275        (WebCore::InlineTextBox::positionForOffset):
11276        * rendering/RenderBlock.cpp:
11277        (WebCore::RenderBlock::addOverflowFromChildren):
11278        (WebCore::RenderBlock::paintChildren):
11279        (WebCore::RenderBlock::paintEllipsisBoxes):
11280        (WebCore::RenderBlock::inlineSelectionGaps):
11281        (WebCore::RenderBlock::adjustPointToColumnContents):
11282        (WebCore::RenderBlock::flipForWritingModeIncludingColumns):
11283        (WebCore::RenderBlock::adjustForColumns):
11284        * rendering/RenderBlock.h:
11285        (WebCore::RenderBlock::FloatingObject::right):
11286        (WebCore::RenderBlock::FloatingObject::bottom):
11287        * rendering/RenderBox.cpp:
11288        (WebCore::RenderBox::reflectedRect):
11289        (WebCore::RenderBox::localCaretRect):
11290        (WebCore::RenderBox::addShadowOverflow):
11291        (WebCore::RenderBox::addLayoutOverflow):
11292        (WebCore::RenderBox::visualOverflowRectForPropagation):
11293        (WebCore::RenderBox::layoutOverflowRectForPropagation):
11294        (WebCore::RenderBox::flipForWritingMode):
11295        * rendering/RenderFrameSet.cpp:
11296        (WebCore::RenderFrameSet::paintColumnBorder):
11297        (WebCore::RenderFrameSet::paintRowBorder):
11298        * rendering/RenderInline.cpp:
11299        (WebCore::RenderInline::paintOutlineForLine):
11300        * rendering/RenderLayer.cpp:
11301        (WebCore::RenderLayer::getRectToExpose):
11302        (WebCore::cornerRect):
11303        (WebCore::RenderLayer::positionOverflowControls):
11304        (WebCore::RenderLayer::overflowBottom):
11305        (WebCore::RenderLayer::overflowRight):
11306        (WebCore::RenderLayer::paintResizer):
11307        * rendering/RenderLineBoxList.cpp:
11308        (WebCore::RenderLineBoxList::rangeIntersectsRect):
11309        (WebCore::RenderLineBoxList::paint):
11310        * rendering/RenderListItem.cpp:
11311        (WebCore::RenderListItem::positionListMarker):
11312        * rendering/RenderListMarker.cpp:
11313        (WebCore::RenderListMarker::paint):
11314        * rendering/RenderObject.cpp:
11315        (WebCore::RenderObject::repaintAfterLayoutIfNeeded):
11316        * rendering/RenderOverflow.h:
11317        (WebCore::RenderOverflow::RenderOverflow):
11318        (WebCore::RenderOverflow::addLayoutOverflow):
11319        (WebCore::RenderOverflow::addVisualOverflow):
11320        (WebCore::RenderOverflow::setLayoutOverflow):
11321        (WebCore::RenderOverflow::setVisualOverflow):
11322        (WebCore::RenderOverflow::resetLayoutOverflow):
11323        * rendering/RenderReplaced.cpp:
11324        (WebCore::RenderReplaced::shouldPaint):
11325        * rendering/RenderScrollbarTheme.cpp:
11326        (WebCore::RenderScrollbarTheme::constrainTrackRectToTrackPieces):
11327        * rendering/RenderTable.cpp:
11328        (WebCore::RenderTable::paint):
11329        * rendering/RenderTableCell.cpp:
11330        (WebCore::RenderTableCell::paint):
11331        * rendering/RenderTableSection.cpp:
11332        (WebCore::RenderTableSection::paintObject):
11333        * rendering/RenderText.cpp:
11334        (WebCore::RenderText::absoluteQuads):
11335        * rendering/RenderTextControlSingleLine.cpp:
11336        (WebCore::RenderTextControlSingleLine::forwardEvent):
11337        * rendering/RenderThemeMac.mm:
11338        (WebCore::RenderThemeMac::paintMenuListButtonGradients):
11339        (WebCore::RenderThemeMac::paintMenuListButton):
11340        (WebCore::RenderThemeMac::paintSliderTrack):
11341        * rendering/RenderView.cpp:
11342        (WebCore::RenderView::computeRectForRepaint):
11343        (WebCore::RenderView::docBottom):
11344        (WebCore::RenderView::docRight):
11345        * rendering/RootInlineBox.cpp:
11346        (WebCore::RootInlineBox::paddedLayoutOverflowRect):
11347        * rendering/svg/RenderSVGInlineText.cpp:
11348        (WebCore::RenderSVGInlineText::localCaretRect):
11349
113502011-02-01  Beth Dakin  <bdakin@apple.com>
11351
11352        Reviewed by Sam Weinig.
11353
11354        Fix for <rdar://problem/8492788> Adopt WKScrollbarPainterController
11355
11356        Lots of new WebCoreSystemInterface functions to export.
11357        * WebCore.exp.in:
11358        * platform/mac/WebCoreSystemInterface.h:
11359        * platform/mac/WebCoreSystemInterface.mm:
11360
11361        Let the scrollAnimator know when the mouse has
11362        moved anywhere inside the page, and when the mouse 
11363        has moved in or out of the window. 
11364        * page/EventHandler.cpp:
11365        (WebCore::EventHandler::mouseMoved):
11366        (WebCore::EventHandler::updateMouseEventTargetNode):
11367
11368        Let the scrollAnimator know when the window has become
11369        active or inactive.
11370        * page/FocusController.cpp:
11371        (WebCore::FocusController::setActive):
11372        
11373        Let the scrollAnimator know when all of these things
11374        are happening.
11375        * page/FrameView.cpp:
11376        (WebCore::FrameView::setContentsSize):
11377        (WebCore::FrameView::didMoveOnscreen):
11378        (WebCore::FrameView::willMoveOffscreen):
11379        (WebCore::FrameView::currentMousePosition):
11380        (WebCore::FrameView::contentsResized):
11381        
11382        New functions called through WebKit2 that allow the
11383        scrollAnimator to know when a live resize starts and ends.
11384        (WebCore::FrameView::willStartLiveResize):
11385        (WebCore::FrameView::willEndLiveResize):
11386        * page/FrameView.h:
11387        
11388        New functions on ScrollAnimator that pass information
11389        to the WKPainterController when we're using one.
11390        * platform/ScrollAnimator.h:
11391        (WebCore::ScrollAnimator::scrollableArea):
11392        (WebCore::ScrollAnimator::contentAreaWillPaint):
11393        (WebCore::ScrollAnimator::mouseEnteredContentArea):
11394        (WebCore::ScrollAnimator::mouseExitedContentArea):
11395        (WebCore::ScrollAnimator::mouseMovedInContentArea):
11396        (WebCore::ScrollAnimator::willStartLiveResize):
11397        (WebCore::ScrollAnimator::contentsResized):
11398        (WebCore::ScrollAnimator::willEndLiveResize):
11399        (WebCore::ScrollAnimator::contentAreaDidShow):
11400        (WebCore::ScrollAnimator::contentAreaDidHide):
11401        (WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
11402        (WebCore::ScrollAnimatorMac::scrollbarPainterDelegate):
11403        (WebCore::ScrollAnimatorMac::setPainterForPainterController):
11404        (WebCore::ScrollAnimatorMac::removePainterFromPainterController):
11405        (WebCore::ScrollAnimatorMac::notityPositionChanged):
11406        (WebCore::ScrollAnimatorMac::contentAreaWillPaint):
11407        (WebCore::ScrollAnimatorMac::mouseEnteredContentArea):
11408        (WebCore::ScrollAnimatorMac::mouseExitedContentArea):
11409        (WebCore::ScrollAnimatorMac::mouseMovedInContentArea):
11410        (WebCore::ScrollAnimatorMac::willStartLiveResize):
11411        (WebCore::ScrollAnimatorMac::contentsResized):
11412        (WebCore::ScrollAnimatorMac::willEndLiveResize):
11413        (WebCore::ScrollAnimatorMac::contentAreaDidShow):
11414        (WebCore::ScrollAnimatorMac::contentAreaDidHide):
11415        
11416        Let the scrollAnimator know when this is happening.
11417        * platform/ScrollView.cpp:
11418        (WebCore::ScrollView::paint):
11419        
11420        New function lets the scrollAnimator get the current 
11421        mouse position.
11422        * platform/ScrollView.h:
11423        (WebCore::ScrollView::currentMousePosition):
11424        
11425        New function that returns the scrollAnimator when needed.
11426        * platform/ScrollableArea.h:
11427        (WebCore::ScrollableArea::scrollAnimator):
11428        
11429        Keep track of if we're in a live resize using a new memeber
11430        variable.
11431        * platform/mac/ScrollAnimatorMac.h:
11432        (WebCore::ScrollAnimatorMac::inLiveResize):
11433        * platform/mac/ScrollAnimatorMac.mm:
11434        (WebCore::view):
11435        
11436        New delegates for the WKPainter and WKPainterController
11437        (-[ScrollbarPainterControllerDelegate initWithScrollAnimator:WebCore::]):
11438        (-[ScrollbarPainterControllerDelegate contentAreaRectForScrollerImpPair:]):
11439        (-[ScrollbarPainterControllerDelegate inLiveResizeForScrollerImpPair:]):
11440        (-[ScrollbarPainterControllerDelegate mouseLocationInContentAreaForScrollerImpPair:]):
11441        (-[ScrollbarPainterControllerDelegate scrollerImpPair:convertContentPoint:toScrollerImp:]):
11442        (-[ScrollbarPainterControllerDelegate scrollerImpPair:setContentAreaNeedsDisplayInRect:]):
11443        (-[ScrollbarPainterControllerDelegate scrollerImpPair:updateScrollerStyleForNewRecommendedScrollerStyle:]):
11444        (-[ScrollKnobAnimation initWithScrollbarPainter:forScrollAnimator:WebCore::animateKnobAlphaTo:duration:]):
11445        (-[ScrollKnobAnimation setCurrentProgress:]):
11446        (-[ScrollbarPainterDelegate initWithScrollAnimator:WebCore::]):
11447        (-[ScrollbarPainterDelegate convertRectToBacking:]):
11448        (-[ScrollbarPainterDelegate convertRectFromBacking:]):
11449        (-[ScrollbarPainterDelegate layer]):
11450        (-[ScrollbarPainterDelegate setUpAnimation:scrollerPainter:animateKnobAlphaTo:duration:]):
11451        (-[ScrollbarPainterDelegate scrollerImp:animateKnobAlphaTo:duration:]):
11452        (-[ScrollbarPainterDelegate scrollerImp:animateTrackAlphaTo:duration:]):
11453        (-[ScrollbarPainterDelegate scrollerImp:overlayScrollerStateChangedTo:]):
11454
11455        Get the WKScrollbarPainterRefs to synch up with the 
11456        WKScrollbarPainterControllerRefs when appropriate
11457        * platform/mac/ScrollbarThemeMac.h:
11458        * platform/mac/ScrollbarThemeMac.mm:
11459        (WebCore::ScrollbarThemeMac::registerScrollbar):
11460        (WebCore::ScrollbarThemeMac::unregisterScrollbar):
11461        (WebCore::ScrollbarThemeMac::setNewPainterForScrollbar):
11462        (WebCore::ScrollbarThemeMac::usesOverlayScrollbars):
11463
11464        Implement ScrollableArea's virtual function contentsSize() for access
11465        through the scrollAnimator.
11466        * rendering/RenderLayer.h:
11467        (WebCore::RenderLayer::contentsSize):
11468
114692011-02-01  Carol Szabo  <carol.szabo@nokia.com>
11470
11471        Reviewed by David Hyatt.
11472
11473        layoutTestController.counterValueForElementById does not return the correct value
11474        https://bugs.webkit.org/show_bug.cgi?id=53037
11475
11476        Test: fast/css/counters/deep-before.html
11477
11478        * rendering/RenderTreeAsText.cpp:
11479        (WebCore::counterValueForElement):
11480        Modified to use the newly available RenderObject::beforePseudoElement()
11481        and RenderObject::afterPseudoElement() instead of the old imperfect
11482        algorithm to find the before and after pseudo elements.
11483
114842011-02-01  Anton Muhin  <antonm@chromium.org>
11485
11486        Reviewed by Adam Barth.
11487
11488        Allow access for security origin same as this.
11489        https://bugs.webkit.org/show_bug.cgi?id=53440
11490
11491        Hard to test as newly added path currently is never hit.
11492
11493        * page/SecurityOrigin.cpp:
11494        (WebCore::SecurityOrigin::canAccess): allow access if this == other
11495
114962011-01-31  Oliver Hunt  <oliver@apple.com>
11497
11498        Reviewed by Geoffrey Garen.
11499
11500        Update JSObject storage for new marking API
11501        https://bugs.webkit.org/show_bug.cgi?id=53467
11502
11503        Update WebCore to handle new anonymous slot behaviour.
11504
11505        * bindings/js/JSDOMWindowShell.cpp:
11506        (WebCore::JSDOMWindowShell::setWindow):
11507        * bindings/js/WorkerScriptController.cpp:
11508        (WebCore::WorkerScriptController::initScript):
11509        * bindings/scripts/CodeGeneratorJS.pm:
11510
115112011-02-01  Xiaomei Ji  <xji@chromium.org>
11512
11513        Reviewed by David Hyatt.
11514
11515        Fix a text rendering problem when enclosing block is RTL and text runs
11516        are in different directionality.
11517        https://bugs.webkit.org/show_bug.cgi?id=34176
11518
11519        The problem happens in the following example scenario (ABC represents 
11520        Hebrew characters):
11521        <div dir=rtl>this is a <span><span>test <span>ABC</span></span></span></div>
11522
11523        The line consists of 3 text runs -- TextRun1 TextRun2 TextRun3. In which
11524        TextRun1 and TextRun2's bidi level are 2, and TextRun3's bidi level is 1.
11525        TextRun2 and TextRun3's least common ancestor is not a sibling of TextRun1.
11526
11527        The visual bidi run order of the text runs is TextRun3 TextRun1 TextRun2.
11528
11529        Inside RenderBlock::constructLine(), when RenderBlock::createLineBoxes()
11530        creates InlineFlowBox for TextRun2, it should check an InlineFlowBox for
11531        the run's render object's ancestor (not only its parent) has already 
11532        been constructed or has something following it on the line, in which 
11533        case, create a new box for TextRun2 instead of sharing the same box with
11534        TextRun3.
11535
11536        In other words, the following 2 div should render the same results
11537        (ABC represents Hebrew characters).
11538        <div dir=rtl>this is a <span><span>test <span>ABC</span></span></span></div>
11539        <div dir=rtl>this is a <span>Test <span>ABC</span></span></div>
11540
11541        Test: fast/dom/34176.html
11542
11543        * rendering/RenderBlockLineLayout.cpp:
11544        (WebCore::parentIsConstructedOrHaveNext):
11545        (WebCore::RenderBlock::createLineBoxes):
11546
115472011-02-01  Abhishek Arya  <inferno@chromium.org>
11548
11549        Reviewed by Dan Bernstein.
11550
11551        Do not add a node in the document's stylesheet candidate node list if the
11552        node is already removed from document.
11553        https://bugs.webkit.org/show_bug.cgi?id=53441
11554
11555        Test: fast/css/stylesheet-candidate-nodes-crash.xhtml
11556
11557        * dom/Document.cpp:
11558        (WebCore::Document::addStyleSheetCandidateNode):
11559
115602011-02-01  Dave Hyatt  <hyatt@apple.com>
11561
11562        Reviewed by Darin Adler.
11563
11564        https://bugs.webkit.org/show_bug.cgi?id=46422, make printing and pagination work
11565        with vertical text.
11566
11567        Change printing functions to check writing-mode and properly swap width and height
11568        as needed.
11569        
11570        Fix the setScrollOrigin function so that the origin doesn't cause
11571        scroll spasming during printing (this is only partially successful, but it's better
11572        than it was).
11573
11574        Rewrite computePageRects to handle both RTL documents properly as well as vertical
11575        text documents properly.
11576
11577        * WebCore.exp.in:
11578        * page/FrameView.cpp:
11579        (WebCore::FrameView::adjustViewSize):
11580        (WebCore::FrameView::forceLayoutForPagination):
11581        * page/PrintContext.cpp:
11582        (WebCore::PrintContext::computePageRects):
11583        (WebCore::PrintContext::computePageRectsWithPageSizeInternal):
11584        (WebCore::PrintContext::computeAutomaticScaleFactor):
11585        (WebCore::PrintContext::spoolPage):
11586        (WebCore::PrintContext::spoolRect):
11587        * page/PrintContext.h:
11588        * page/mac/WebCoreFrameView.h:
11589        * platform/ScrollView.cpp:
11590        (WebCore::ScrollView::wheelEvent):
11591        * platform/ScrollView.h:
11592        * platform/mac/ScrollViewMac.mm:
11593        (WebCore::ScrollView::platformSetScrollOrigin):
11594        * rendering/RenderView.cpp:
11595        (WebCore::RenderView::layout):
11596
115972011-02-01  Mikhail Naganov  <mnaganov@chromium.org>
11598
11599        Reviewed by Pavel Feldman.
11600
11601        Web Inspector: Fix profiles reset to avoid clearing heap profiles in Chromium.
11602
11603        https://bugs.webkit.org/show_bug.cgi?id=53500
11604
11605        * inspector/InspectorProfilerAgent.cpp:
11606        (WebCore::InspectorProfilerAgent::resetFrontendProfiles):
11607
116082011-02-01  Mikhail Naganov  <mnaganov@chromium.org>
11609
11610        Reviewed by Pavel Feldman.
11611
11612        Web Inspector: [Chromium] Landing detailed heap snapshots, part 1.
11613
11614        https://bugs.webkit.org/show_bug.cgi?id=53173
11615
11616        Adding code for accessing heap snapshot data and
11617        performing graph calculations.
11618
11619        * English.lproj/localizedStrings.js:
11620        * inspector/front-end/HeapSnapshot.js:
11621        (WebInspector.HeapSnapshotArraySlice): Helper class to avoid array contents copying.
11622        (WebInspector.HeapSnapshotEdge): Wrapper for accessing graph edge properties.
11623        (WebInspector.HeapSnapshotEdgeIterator):
11624        (WebInspector.HeapSnapshotNode): Wrapper for accessing graph node properties.
11625        (WebInspector.HeapSnapshotNodeIterator):
11626        (WebInspector.HeapSnapshot): Wrapper for the heap snapshot.
11627        (WebInspector.HeapSnapshotFilteredOrderedIterator):
11628        (WebInspector.HeapSnapshotEdgesProvider):
11629        (WebInspector.HeapSnapshotNodesProvider):
11630        (WebInspector.HeapSnapshotPathFinder):
11631        * inspector/front-end/HeapSnapshotView.js:
11632        (WebInspector.HeapSnapshotView.prototype._convertSnapshot):
11633
116342011-02-01  Adam Roben  <aroben@apple.com>
11635
11636        Fix linker warnings in Release_LTCG builds
11637
11638        * WebCore.vcproj/WebCore.vcproj: Exclude EventNames.cpp and EventTarget.cpp from all
11639        configurations, since they get pulled in via DOMAllInOne.cpp.
11640
116412011-02-01  Alexander Pavlov  <apavlov@chromium.org>
11642
11643        Reviewed by Yury Semikhatsky.
11644
11645        Web Inspector: [Chromium] Wrongly labelled context-menu item for links in Web Inspector's side-pane
11646        https://bugs.webkit.org/show_bug.cgi?id=53482
11647
11648        * English.lproj/localizedStrings.js:
11649        * inspector/front-end/ElementsPanel.js:
11650        (WebInspector.ElementsPanel.prototype.populateHrefContextMenu):
11651        * inspector/front-end/inspector.js:
11652        (WebInspector.resourceForURL):
11653        (WebInspector.openLinkExternallyLabel):
11654
116552011-02-01  Anton Muhin  <antonm@chromium.org>
11656
11657        Reviewed by Adam Barth.
11658
11659        Propagate parent document security origin to newly create Document XML response
11660        https://bugs.webkit.org/show_bug.cgi?id=53444
11661
11662        Covered by the existing tests.
11663
11664        * xml/XMLHttpRequest.cpp:
11665        (WebCore::XMLHttpRequest::responseXML):
11666
116672011-02-01  Yury Semikhatsky  <yurys@chromium.org>
11668
11669        Unreviewed. Rollout r77230 which caused many layout tests
11670        crashes on Chromium Debug bots.
11671
11672        Async event handlers should not fire within a modal dialog
11673        https://bugs.webkit.org/show_bug.cgi?id=53202
11674
11675        * dom/Document.cpp:
11676        (WebCore::Document::Document):
11677        * dom/EventQueue.cpp:
11678        (WebCore::EventQueue::EventQueue):
11679        (WebCore::EventQueue::enqueueEvent):
11680        (WebCore::EventQueue::pendingEventTimerFired):
11681        * dom/EventQueue.h:
11682
116832011-02-01  Zoltan Herczeg  <zherczeg@webkit.org>
11684
11685        Reviewed by Dirk Schulze.
11686
11687        LightElement changes does not require relayout.
11688        https://bugs.webkit.org/show_bug.cgi?id=53232
11689
11690        When an attribute of a LightElement changes, it
11691        send an update message to the lighting filters
11692        to update its corresponding LightSource objects,
11693        and repaint the filters.
11694
11695        Duplicated 'id' attributes removed from svg-filter-animation.svg.
11696
11697        Existing dynamic-update tests covers this feature.
11698
11699        5x speedup on manual-tests/svg-filter-animation.svg
11700
11701        * manual-tests/svg-filter-animation.svg:
11702        * platform/graphics/filters/DistantLightSource.h:
11703        * platform/graphics/filters/FEDiffuseLighting.cpp:
11704        (WebCore::FEDiffuseLighting::setLightingColor):
11705        (WebCore::FEDiffuseLighting::setSurfaceScale):
11706        (WebCore::FEDiffuseLighting::setDiffuseConstant):
11707        (WebCore::FEDiffuseLighting::setKernelUnitLengthX):
11708        (WebCore::FEDiffuseLighting::setKernelUnitLengthY):
11709        * platform/graphics/filters/FEDiffuseLighting.h:
11710        * platform/graphics/filters/LightSource.cpp:
11711        (WebCore::PointLightSource::setX):
11712        (WebCore::PointLightSource::setY):
11713        (WebCore::PointLightSource::setZ):
11714        (WebCore::SpotLightSource::setX):
11715        (WebCore::SpotLightSource::setY):
11716        (WebCore::SpotLightSource::setZ):
11717        (WebCore::SpotLightSource::setPointsAtX):
11718        (WebCore::SpotLightSource::setPointsAtY):
11719        (WebCore::SpotLightSource::setPointsAtZ):
11720        (WebCore::SpotLightSource::setSpecularExponent):
11721        (WebCore::SpotLightSource::setLimitingConeAngle):
11722        (WebCore::DistantLightSource::setAzimuth):
11723        (WebCore::DistantLightSource::setElevation):
11724        (WebCore::LightSource::setAzimuth):
11725        (WebCore::LightSource::setElevation):
11726        (WebCore::LightSource::setX):
11727        (WebCore::LightSource::setY):
11728        (WebCore::LightSource::setZ):
11729        (WebCore::LightSource::setPointsAtX):
11730        (WebCore::LightSource::setPointsAtY):
11731        (WebCore::LightSource::setPointsAtZ):
11732        (WebCore::LightSource::setSpecularExponent):
11733        (WebCore::LightSource::setLimitingConeAngle):
11734        * platform/graphics/filters/LightSource.h:
11735        * platform/graphics/filters/PointLightSource.h:
11736        * platform/graphics/filters/SpotLightSource.h:
11737        * rendering/svg/RenderSVGResourceFilter.cpp:
11738        (WebCore::RenderSVGResourceFilter::primitiveAttributeChanged):
11739        * svg/SVGFEDiffuseLightingElement.cpp:
11740        (WebCore::SVGFEDiffuseLightingElement::setFilterEffectAttribute):
11741        (WebCore::SVGFEDiffuseLightingElement::lightElementAttributeChanged):
11742        (WebCore::SVGFEDiffuseLightingElement::build):
11743        (WebCore::SVGFEDiffuseLightingElement::findLightElement):
11744        (WebCore::SVGFEDiffuseLightingElement::findLight):
11745        * svg/SVGFEDiffuseLightingElement.h:
11746        * svg/SVGFELightElement.cpp:
11747        (WebCore::SVGFELightElement::svgAttributeChanged):
11748        * svg/SVGFilterPrimitiveStandardAttributes.cpp:
11749        (WebCore::SVGFilterPrimitiveStandardAttributes::setFilterEffectAttribute):
11750        * svg/SVGFilterPrimitiveStandardAttributes.h:
11751
117522011-02-01  Roland Steiner  <rolandsteiner@chromium.org>
11753
11754        Reviewed by Dimitri Glazkov.
11755
11756        Bug 53289 - DOM: Move DocumentOrderedMap from Document into separate files
11757        https://bugs.webkit.org/show_bug.cgi?id=53289
11758
11759        Moving the nested class DocumentOrderedMap from Document into separate files,
11760        updating code where necessary.
11761
11762        No new tests. (refactoring)
11763
11764        * Android.mk:
11765        * CMakeLists.txt:
11766        * GNUMakefile.am:
11767        * WebCore.gypi:
11768        * WebCore.pro:
11769        * WebCore.vcproj/WebCore.vcproj:
11770        * WebCore.xcodeproj/project.pbxproj:
11771        * dom/Document.cpp:
11772        (WebCore::Document::getElementById):
11773        (WebCore::Document::getImageMap):
11774        * dom/Document.h:
11775        * dom/DocumentOrderedMap.cpp: Added.
11776        (WebCore::keyMatchesId):
11777        (WebCore::keyMatchesMapName):
11778        (WebCore::keyMatchesLowercasedMapName):
11779        (WebCore::DocumentOrderedMap::clear):
11780        (WebCore::DocumentOrderedMap::add):
11781        (WebCore::DocumentOrderedMap::remove):
11782        (WebCore::DocumentOrderedMap::get):
11783        (WebCore::DocumentOrderedMap::getElementById):
11784        (WebCore::DocumentOrderedMap::getElementByMapName):
11785        (WebCore::DocumentOrderedMap::getElementByLowercasedMapName):
11786        * dom/DocumentOrderedMap.h: Added.
11787        (WebCore::DocumentOrderedMap::contains):
11788        (WebCore::DocumentOrderedMap::containsMultiple):
11789        * dom/DOMAllInOne.cpp:
11790
117912011-02-01  Mario Sanchez Prada  <msanchez@igalia.com>
11792
11793        Reviewed by Martin Robinson.
11794
11795        [Gtk] atk_text_set_caret_offset fails for list items
11796        https://bugs.webkit.org/show_bug.cgi?id=53388
11797
11798        Allow using text ranges across list items.
11799
11800        * accessibility/gtk/AccessibilityObjectAtk.cpp:
11801        (WebCore::AccessibilityObject::allowsTextRanges): Add list items
11802        to the list of accessibility objects supporting text ranges.
11803
118042011-02-01  Mario Sanchez Prada  <msanchez@igalia.com>
11805
11806        Reviewed by Martin Robinson.
11807
11808        [GTK] character range extents is off when the end of a wrapped line is included
11809        https://bugs.webkit.org/show_bug.cgi?id=53323
11810
11811        Fixed wrong calculation getting the range extents.
11812
11813        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
11814        (webkit_accessible_text_get_range_extents): Removed '+1' since the
11815        requested interval shouldn't include the last character.
11816
118172011-02-01  Mario Sanchez Prada  <msanchez@igalia.com>
11818
11819        Reviewed by Martin Robinson.
11820
11821        [GTK] Caret Offset is one off at the end of wrapped lines
11822        https://bugs.webkit.org/show_bug.cgi?id=53300
11823
11824        Consider linebreaks as special cases.
11825
11826        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
11827        (objectAndOffsetUnignored): In order to avoid getting wrong values
11828        when around linebreaks, we need to workaround this by explicitly
11829        avoiding those '\n' text nodes from affecting the result of
11830        calling to TextIterator:rangeLength().
11831
118322011-02-01  Roland Steiner  <rolandsteiner@chromium.org>
11833
11834        Unreviewed, rolling out r77229.
11835        http://trac.webkit.org/changeset/77229
11836        https://bugs.webkit.org/show_bug.cgi?id=53289
11837
11838        revert mysterious build breakage
11839
11840        * Android.mk:
11841        * CMakeLists.txt:
11842        * GNUmakefile.am:
11843        * WebCore.gypi:
11844        * WebCore.pro:
11845        * WebCore.vcproj/WebCore.vcproj:
11846        * WebCore.xcodeproj/project.pbxproj:
11847        * dom/DOMAllInOne.cpp:
11848        * dom/Document.cpp:
11849        (WebCore::Document::DocumentOrderedMap::clear):
11850        (WebCore::Document::DocumentOrderedMap::add):
11851        (WebCore::Document::DocumentOrderedMap::remove):
11852        (WebCore::Document::DocumentOrderedMap::get):
11853        (WebCore::keyMatchesId):
11854        (WebCore::Document::getElementById):
11855        (WebCore::keyMatchesMapName):
11856        (WebCore::keyMatchesLowercasedMapName):
11857        (WebCore::Document::getImageMap):
11858        * dom/Document.h:
11859        (WebCore::Document::DocumentOrderedMap::contains):
11860        (WebCore::Document::DocumentOrderedMap::containsMultiple):
11861        * dom/DocumentOrderedMap.cpp: Removed.
11862        * dom/DocumentOrderedMap.h: Removed.
11863
118642011-02-01  Mihai Parparita  <mihaip@chromium.org>
11865
11866        Reviewed by James Robinson.
11867
11868        Async event handlers should not fire within a modal dialog
11869        https://bugs.webkit.org/show_bug.cgi?id=53202
11870
11871        Asychronous events that use EventQueue would currently fire while a
11872        modal dialog (e.g. window.alert()) was up. Change EventQueue to use a
11873        SuspendableTimer (which automatically gets suspended while dialogs are
11874        up and in other cases where JS execution is not allowed).
11875        
11876        Test: fast/events/scroll-event-during-modal-dialog.html
11877
11878        * dom/Document.cpp:
11879        (WebCore::Document::Document):
11880        * dom/EventQueue.cpp:
11881        (WebCore::EventQueueTimer::EventQueueTimer):
11882        (WebCore::EventQueueTimer::fired):
11883        (WebCore::EventQueue::EventQueue):
11884        (WebCore::EventQueue::enqueueEvent):
11885        (WebCore::EventQueue::pendingEventTimerFired):
11886        * dom/EventQueue.h:
11887        (WebCore::EventQueue::create):
11888
118892011-02-01  Roland Steiner  <rolandsteiner@chromium.org>
11890
11891        Reviewed by Dimitri Glazkov.
11892
11893        Bug 53289 - DOM: Move DocumentOrderedMap from Document into separate files
11894        https://bugs.webkit.org/show_bug.cgi?id=53289
11895
11896        Moving the nested class DocumentOrderedMap from Document into separate files,
11897        updating code where necessary.
11898
11899        No new tests. (refactoring)
11900
11901        * Android.mk:
11902        * CMakeLists.txt:
11903        * GNUMakefile.am:
11904        * WebCore.gypi:
11905        * WebCore.pro:
11906        * WebCore.vcproj/WebCore.vcproj:
11907        * WebCore.xcodeproj/project.pbxproj:
11908        * dom/Document.cpp:
11909        (WebCore::Document::getElementById):
11910        (WebCore::Document::getImageMap):
11911        * dom/Document.h:
11912        * dom/DocumentOrderedMap.cpp: Added.
11913        (WebCore::keyMatchesId):
11914        (WebCore::keyMatchesMapName):
11915        (WebCore::keyMatchesLowercasedMapName):
11916        (WebCore::DocumentOrderedMap::clear):
11917        (WebCore::DocumentOrderedMap::add):
11918        (WebCore::DocumentOrderedMap::remove):
11919        (WebCore::DocumentOrderedMap::get):
11920        (WebCore::DocumentOrderedMap::getElementById):
11921        (WebCore::DocumentOrderedMap::getElementByMapName):
11922        (WebCore::DocumentOrderedMap::getElementByLowercasedMapName):
11923        * dom/DocumentOrderedMap.h: Added.
11924        (WebCore::DocumentOrderedMap::contains):
11925        (WebCore::DocumentOrderedMap::containsMultiple):
11926        * dom/DOMAllInOne.cpp:
11927
119282011-02-01  Naoki Takano  <takano.naoki@gmail.com>
11929
11930        Reviewed by Darin Fisher.
11931
11932        [Chromium] Autofill should work with HTML5 form elements
11933        https://bugs.webkit.org/show_bug.cgi?id=51809
11934        http://crbug.com/65654
11935
11936        No new tests, because this fix is for Chromium project and hard to test only in WebKit project.
11937
11938        * html/InputType.h: Insert comment for canSetSuggestedValue().
11939        * html/TextFieldInputType.cpp:
11940        (WebCore::TextFieldInputType::canSetSuggestedValue): Implemented to return always true for that all text filed inputs can be completed.
11941        * html/TextFieldInputType.h: Declare canSetSuggestedValue().
11942        * html/TextInputType.cpp: Delete canSetSuggestedValue() not to return true anymore.
11943        * html/TextInputType.h: Delete canSetSuggestedValue() not to return true anymore.
11944
119452011-02-01  Kent Tamura  <tkent@chromium.org>
11946
11947        Reviewed by Dan Bernstein.
11948
11949        REGRESSION (r65062): Safari loops forever under WebCore::plainTextToMallocAllocatedBuffer()
11950        https://bugs.webkit.org/show_bug.cgi?id=53272
11951
11952        * editing/TextIterator.cpp:
11953        (WebCore::TextIterator::handleTextBox): Pass the appropriate renderer to emitText().
11954
119552011-01-31  Alexey Proskuryakov  <ap@apple.com>
11956
11957        Reviewed by Maciej Stachowiak.
11958
11959        https://bugs.webkit.org/show_bug.cgi?id=53466
11960        Move WebKit2 to printing via API methods
11961
11962        * WebCore.exp.in: Export IntRect::scale().
11963
119642011-01-31  Patrick Gansterer  <paroga@webkit.org>
11965
11966        Reviewed by Adam Barth.
11967
11968        Remove obsolete comment after r41871
11969        https://bugs.webkit.org/show_bug.cgi?id=53406
11970
11971        * dom/Document.h:
11972
119732011-01-31  Simon Fraser  <simon.fraser@apple.com>
11974
11975        Fix according to reviewer comments: can just use Color::black now.
11976
11977        * platform/graphics/ShadowBlur.cpp:
11978        (WebCore::ShadowBlur::drawInsetShadow):
11979        (WebCore::ShadowBlur::drawRectShadowWithoutTiling):
11980
119812011-01-31  Simon Fraser  <simon.fraser@apple.com>
11982
11983        Reviewed by Sam Weinig.
11984
11985        Clean up ShadowBlur
11986        https://bugs.webkit.org/show_bug.cgi?id=53472
11987
11988        Some minor ShadowBlur cleanup.
11989
11990        * platform/graphics/ShadowBlur.h:
11991        * platform/graphics/ShadowBlur.cpp:
11992        (WebCore::ShadowBlur::ShadowBlur): Use m_blurRadius rather than the radius
11993        paramter.
11994        (WebCore::ShadowBlur::adjustBlurRadius): Renamed from adjustBlurDistance.
11995        (WebCore::ShadowBlur::calculateLayerBoundingRect): Rename layerFloatRect to
11996        layerRect. Make frameSize a float.
11997        (WebCore::ShadowBlur::beginShadowLayer): This now takes a precomputed
11998        layerRect rather than calling calculateLayerBoundingRect() to compute
11999        it itself, since we were calling calculateLayerBoundingRect() twice.
12000        (WebCore::ShadowBlur::drawRectShadow): Optimize to call calculateLayerBoundingRect()
12001        only once. The shadowRect variable was unused, so two return paths could be
12002        collapsed into one.
12003        (WebCore::ShadowBlur::drawInsetShadow): Call calculateLayerBoundingRect() before
12004        beginShadowLayer() now.
12005        (WebCore::ShadowBlur::drawRectShadowWithoutTiling): The layerRect gets passed in.
12006        We always used alpha=1, so no need to pass that in.
12007        (WebCore::ShadowBlur::drawRectShadowWithTiling): We always used alpha=1, so no need to
12008        pass that in. Move shadowRect down to first use.
12009        ShadowBlur::clipBounds() was unused.
12010
120112011-01-31  No'am Rosenthal  <noam.rosenthal@nokia.com>
12012
12013        Reviewed by Kenneth Rohde Christiansen.
12014
12015        [Qt] QWebElements example from QtWebKit Bridge documentation does not work at all
12016        https://bugs.webkit.org/show_bug.cgi?id=46748
12017
12018        This problem disappears when we register QWebElement using qRegisterMetaType, which we now do in QtInstance.
12019        Added a regression test to tst_QWebFrame.
12020
12021        * bridge/qt/qt_instance.cpp:
12022        (JSC::Bindings::QtInstance::QtInstance):
12023
120242011-01-27  MORITA Hajime  <morrita@google.com>
12025
12026        Reviewed by Dimitri Glazkov.
12027        
12028        Convert <progress> shadow DOM to a DOM-based shadow.
12029        https://bugs.webkit.org/show_bug.cgi?id=50660
12030
12031        * Removed RenderProgress::m_valuePart, moved the shadow node
12032          to the shadow root of HTMLProgressElement.
12033        * Removed hard-coded pseudo ID for -webkit-progress-bar-value.
12034          ProgressBarValueElement is defined only for overriding
12035          shadowPseudoId().
12036        
12037        No new tests. No behavioral change.
12038
12039        * css/CSSSelector.cpp:
12040        (WebCore::CSSSelector::pseudoId):
12041        (WebCore::nameToPseudoTypeMap):
12042        (WebCore::CSSSelector::extractPseudoType):
12043        * css/CSSSelector.h:
12044        * html/HTMLProgressElement.cpp:
12045        (WebCore::ProgressBarValueElement::ProgressBarValueElement):
12046        (WebCore::ProgressBarValueElement::shadowPseudoId):
12047        (WebCore::ProgressBarValueElement::create):
12048        (WebCore::ProgressBarValueElement::detach):
12049        (WebCore::HTMLProgressElement::parseMappedAttribute):
12050        (WebCore::HTMLProgressElement::attach):
12051        (WebCore::HTMLProgressElement::valuePart):
12052        (WebCore::HTMLProgressElement::didElementStateChange):
12053        (WebCore::HTMLProgressElement::createShadowSubtreeIfNeeded):
12054        * html/HTMLProgressElement.h:
12055        * rendering/RenderProgress.cpp:
12056        (WebCore::RenderProgress::~RenderProgress):
12057        (WebCore::RenderProgress::updateFromElement):
12058        (WebCore::RenderProgress::layoutParts):
12059        (WebCore::RenderProgress::shouldHaveParts):
12060        (WebCore::RenderProgress::valuePart):
12061        * rendering/RenderProgress.h:
12062        * rendering/style/RenderStyleConstants.h:
12063
120642011-01-31  Charlie Reis  <creis@chromium.org>
12065
12066        Reviewed by Mihai Parparita.
12067
12068        Add sanity check to help diagnose bug 52819
12069        https://bugs.webkit.org/show_bug.cgi?id=53402
12070
12071        Crash early if the children of fromItem look invalid.
12072
12073        * loader/HistoryController.cpp:
12074
120752011-01-31  Kalle Vahlman  <kalle.vahlman@movial.com>
12076
12077        Reviewed by Andreas Kling.
12078
12079        [Qt] canvas.drawImage(HTMLVideoElement) doesn't work with Qt Multimedia backend
12080        https://bugs.webkit.org/show_bug.cgi?id=53325
12081
12082        Reimplement paintCurrentFrameInContext() rather than delegate the
12083        rendering to paint() to make sure we really do get the video frame
12084        content into the GraphicsContext, regardless of accelerated
12085        compositing and the video scene state.
12086
12087        * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
12088        (WebCore::MediaPlayerPrivateQt::paintCurrentFrameInContext):
12089        * platform/graphics/qt/MediaPlayerPrivateQt.h:
12090
120912011-01-31  Emil A Eklund  <eae@chromium.org>
12092
12093        Reviewed by Darin Adler.
12094
12095        Setting "selected" attribute to false should have no effect in single line <select>
12096        https://bugs.webkit.org/show_bug.cgi?id=52436
12097
12098        Change SelectElement::setSelectedIndex to select the first selectable
12099        option when the select state of all options is set to false as required
12100        by the HTML5 specification.
12101
12102        Test: fast/dom/HTMLSelectElement/selected-false.html
12103
12104        * dom/SelectElement.cpp:
12105        (WebCore::SelectElement::setSelectedIndex):
12106
121072011-01-31  Alexander Pavlov  <apavlov@chromium.org>
12108
12109        Reviewed by Yury Semikhatsky.
12110
12111        Web Inspector: Console source references need a left-margin
12112        https://bugs.webkit.org/show_bug.cgi?id=53308
12113
12114        * inspector/front-end/inspector.css:
12115        (.console-message-url): Added a 4px margin on the left.
12116
121172011-01-31  Carol Szabo  <carol.szabo@nokia.com>
12118
12119        Reviewed by David Hyatt.
12120
12121        Code Changes only.
12122
12123        It is needlessly expensive to find the generating node from an anonymous renderer of a pseudoelement.
12124        https://bugs.webkit.org/show_bug.cgi?id=53024
12125
12126        No new tests. No change in functionality
12127
12128        * rendering/RenderObject.h:
12129        (WebCore::RenderObject::before):
12130        (WebCore::RenderObject::after):
12131        (WebCore::RenderObject::generatingNode):
12132        Added new accessors for the use of the CSS 2.1 counters code
12133        (mainlyly)
12134        * rendering/RenderObjectChildList.cpp:
12135        (WebCore::beforeAfterContainer):
12136        (WebCore::RenderObjectChildList::invalidateCounters):
12137        (WebCore::RenderObjectChildList::before):
12138        (WebCore::RenderObjectChildList::after):
12139        Refactored the code to take advantage of the new accessors.
12140        (WebCore::RenderObjectChildList::updateBeforeAfterContent):
12141        Changed to store the generating node in the :before and :after
12142        renderers.
12143        * rendering/RenderObjectChildList.h:
12144
121452011-01-31  Krithigassree Sambamurthy  <krithigassree.sambamurthy@nokia.com>
12146
12147        Reviewed by David Hyatt.
12148
12149        Add background-clip to background shorthand
12150        https://bugs.webkit.org/show_bug.cgi?id=52080
12151
12152        Added background-clip to background-shorthand. Also made changes to
12153        include webkitMaskClip to the mask shorthand to keep both in sync.
12154
12155        * css/CSSParser.cpp:
12156        (WebCore::CSSParser::parseValue):
12157        (WebCore::CSSParser::parseFillShorthand):
12158
121592011-01-31  Darin Adler  <darin@apple.com>
12160
12161        Reviewed by Adele Peterson.
12162
12163        WKView should support scrollPageDown:, scrollPageUp:, scrollToBeg and other similar selectors
12164        https://bugs.webkit.org/show_bug.cgi?id=53460
12165
12166        * editing/EditorCommand.cpp:
12167        (WebCore::executeScrollPageBackward): Added.
12168        (WebCore::executeScrollPageForward): Added.
12169        (WebCore::executeScrollToBeginningOfDocument): Added.
12170        (WebCore::executeScrollToEndOfDocument): Added.
12171        (WebCore::createCommandMap): Added the four commands above to the map.
12172
121732011-01-31  Dan Bernstein  <mitz@apple.com>
12174
12175        Reviewed by Adele Peterson.
12176
12177        Inter-ideograph justification should apply to hiragana and katakana as well
12178        https://bugs.webkit.org/show_bug.cgi?id=53464
12179
12180        Changed the test for expansion opportunities from isCJKIdeograph() to isCJKIdeographOrSymbol().
12181
12182        * platform/graphics/Font.cpp:
12183        (WebCore::Font::expansionOpportunityCount):
12184        * platform/graphics/WidthIterator.cpp:
12185        (WebCore::WidthIterator::advance):
12186        * platform/graphics/mac/ComplexTextController.cpp:
12187        (WebCore::ComplexTextController::adjustGlyphsAndAdvances):
12188
121892011-01-31  Dimitri Glazkov  <dglazkov@chromium.org>
12190
12191        Reviewed by James Robinson.
12192
12193        REGRESSION(r76951): Appearance of media controls changed slightly on Qt/Chromium ports
12194        https://bugs.webkit.org/show_bug.cgi?id=53314
12195
12196        Fixes media/controls-strict.html on Chromium.
12197
12198        * css/mediaControlsChromium.css:
12199        (audio::-webkit-media-controls-timeline, video::-webkit-media-controls-timeline):
12200            Added proper box-sizing to avoid differences between strict/quirks mode.
12201
122022011-01-31  Kent Tamura  <tkent@chromium.org>
12203
12204        Reviewed by Dimitri Glazkov.
12205
12206        Validation message bubble shouldn't inherit text-security style
12207        https://bugs.webkit.org/show_bug.cgi?id=53457
12208
12209        No new tests because the validation message feature depends on timers
12210        and is enabled only in Chromium port.
12211
12212        * css/html.css:
12213        (::-webkit-validation-bubble): Reset -webkit-text-security.
12214
122152011-01-31  Michael Saboff  <msaboff@apple.com>
12216
12217        Reviewed by Geoffrey Garen.
12218
12219        Potentially Unsafe HashSet of RuntimeObject* in RootObject definition
12220        https://bugs.webkit.org/show_bug.cgi?id=53271
12221
12222        Reapplying this patch again. 
12223        The removal of this patch in <http://trac.webkit.org/changeset/77125>
12224        as part of https://bugs.webkit.org/show_bug.cgi?id=53418,
12225        removed the both the first (failing) patch (r76893) and this fixed 
12226        patch (r76969).  This patch includes slight changes necessitated by
12227        r77151.
12228
12229        Reapplying this patch with the change that the second ASSERT in 
12230        RootObject::removeRuntimeObject was changed to use
12231        .uncheckedGet() instead of the failing .get().  The object in question
12232        could be in the process of being GC'ed.  The get() call will not return
12233        such an object while the uncheckedGet() call will return the (unsafe) 
12234        object.  This is the behavior we want.
12235
12236        Precautionary change.
12237        Changed RootObject to use WeakGCMap instead of HashSet.
12238        Found will looking for another issue, but can't produce a test case
12239        that is problematic.  THerefore there aren't any new tests.
12240
12241        * bridge/runtime_root.cpp:
12242        (JSC::Bindings::RootObject::invalidate):
12243        (JSC::Bindings::RootObject::addRuntimeObject):
12244        (JSC::Bindings::RootObject::removeRuntimeObject):
12245        * bridge/runtime_root.h:
12246
122472011-01-31  Andreas Kling  <kling@webkit.org>
12248
12249        Unbreak Qt build after r77151.
12250
12251        * bridge/qt/qt_instance.cpp:
12252        (JSC::Bindings::QtInstance::removeCachedMethod):
12253        (JSC::Bindings::QtInstance::markAggregate):
12254
122552011-01-31  takano takumi  <takano@apple.com>
12256
12257        Reviewed by Dave Hyatt.
12258
12259        Implement text-combine rendering code
12260        https://bugs.webkit.org/show_bug.cgi?id=50621
12261
12262        Test: fast/text/international/text-combine-image-test.html
12263
12264        * Android.mk: Added RenderCombineText.cpp/h
12265        * CMakeLists.txt: Added RenderCombineText.cpp/h
12266        * GNUmakefile.am: Added RenderCombineText.cpp/h
12267        * WebCore.exp.in:
12268        * WebCore.gypi: Added RenderCombineText.cpp/h
12269        * WebCore.pro: Added RenderCombineText.cpp/h
12270        * WebCore.vcproj/WebCore.vcproj: Added RenderCombineText.cpp/h
12271        * WebCore.xcodeproj/project.pbxproj: Added RenderCombineText.cpp/h
12272        * css/CSSFontFaceSource.cpp:
12273        (WebCore::CSSFontFaceSource::getFontData):
12274        - Added fontDescription.widthVariant to SimpleFontData creation.
12275        * css/CSSStyleSelector.cpp:
12276        (WebCore::CSSStyleSelector::applyProperty):
12277        - Changed to set "Unique" flag to RenderStyle in case of TextCombine.
12278        * dom/Text.cpp:
12279        (WebCore::Text::createRenderer):
12280        - Changed to create RenderCombineText in case of TextCombine.
12281        * loader/cache/CachedFont.cpp:
12282        (WebCore::CachedFont::platformDataFromCustomData):
12283        - Added FontWidthVariant as an argument for FontPlatformData creation.
12284        * loader/cache/CachedFont.h:
12285        - Ditto.
12286        * platform/graphics/Font.h:
12287        (WebCore::Font::widthVariant):
12288        - The accessor to FontWidthVariant member variable.
12289        * platform/graphics/FontCache.cpp:
12290        - Made cache to incorporate FontWidthVariant value.
12291        (WebCore::FontPlatformDataCacheKey::FontPlatformDataCacheKey):
12292        (WebCore::FontPlatformDataCacheKey::operator==):
12293        (WebCore::computeHash):
12294        (WebCore::FontCache::getCachedFontPlatformData):
12295        * platform/graphics/FontDescription.h:
12296        - Add a member variable that holds a width variant - none, half-width, third-width, and quarter-width.
12297        (WebCore::FontDescription::FontDescription):
12298        (WebCore::FontDescription::widthVariant):
12299        (WebCore::FontDescription::setWidthVariant):
12300        (WebCore::FontDescription::operator==):
12301        * platform/graphics/FontWidthVariant.h: Added.
12302        * platform/graphics/cairo/FontCustomPlatformData.h:
12303        - Changed to carry FontWidthVariant value.
12304        * platform/graphics/cocoa/FontPlatformData.h:
12305        - Changed to carry FontWidthVariant value.
12306        (WebCore::FontPlatformData::FontPlatformData):
12307        (WebCore::FontPlatformData::widthVariant):
12308        (WebCore::FontPlatformData::hash):
12309        (WebCore::FontPlatformData::operator==):
12310        * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
12311        (WebCore::FontPlatformData::FontPlatformData):
12312        - Changed to carry FontWidthVariant value.
12313        (WebCore::FontPlatformData::operator=):
12314        - Ditto.
12315        (WebCore::mapFontWidthVariantToCTFeatureSelector):
12316        - A function to map a FontWidthVariant value to a CoreText's text spacing feature selector.
12317        (WebCore::FontPlatformData::ctFont):
12318        - Changed to create CTFont with text spacing variant based on FontWidthVariant.
12319        * platform/graphics/freetype/FontCustomPlatformDataFreeType.cpp:
12320        (WebCore::FontCustomPlatformData::fontPlatformData):
12321        - Changed to carry FontWidthVariant value.
12322        * platform/graphics/haiku/FontCustomPlatformData.cpp:
12323        (WebCore::FontCustomPlatformData::fontPlatformData):
12324        - Changed to carry FontWidthVariant value.
12325        * platform/graphics/haiku/FontCustomPlatformData.h:
12326        * platform/graphics/mac/FontCacheMac.mm:
12327        (WebCore::FontCache::createFontPlatformData):
12328        - Changed to carry FontWidthVariant value.
12329        * platform/graphics/mac/FontCustomPlatformData.cpp:
12330        (WebCore::FontCustomPlatformData::fontPlatformData):
12331        - Changed to carry FontWidthVariant value.
12332        * platform/graphics/mac/FontCustomPlatformData.h:
12333        - Ditto.
12334        * platform/graphics/mac/GlyphPageTreeNodeMac.cpp:
12335        (WebCore::shouldUseCoreText):
12336        - Changed to skip CT path when width variant is specified.
12337        * platform/graphics/pango/FontCustomPlatformDataPango.cpp:
12338        (WebCore::FontCustomPlatformData::fontPlatformData):
12339        - Ditto.
12340        * platform/graphics/qt/FontCustomPlatformData.h:
12341        - Ditto.
12342        * platform/graphics/qt/FontCustomPlatformDataQt.cpp:
12343        (WebCore::FontCustomPlatformData::fontPlatformData):
12344        - Ditto.
12345        * platform/graphics/skia/FontCustomPlatformData.cpp:
12346        (WebCore::FontCustomPlatformData::fontPlatformData):
12347        - Ditto.
12348        * platform/graphics/skia/FontCustomPlatformData.h:
12349        - Ditto.
12350        * platform/graphics/win/FontCustomPlatformData.cpp:
12351        (WebCore::FontCustomPlatformData::fontPlatformData):
12352        - Ditto.
12353        * platform/graphics/win/FontCustomPlatformData.h:
12354        - Ditto.
12355        * platform/graphics/win/FontCustomPlatformDataCairo.cpp:
12356        - Ditto.
12357        (WebCore::FontCustomPlatformData::fontPlatformData):
12358        - Ditto.
12359        * platform/graphics/win/FontCustomPlatformDataCairo.h:
12360        - Ditto.
12361        * platform/graphics/wince/FontCustomPlatformData.cpp:
12362        (WebCore::FontCustomPlatformData::fontPlatformData):
12363        - Ditto.
12364        * platform/graphics/wince/FontCustomPlatformData.h:
12365        - Ditto.
12366        * platform/graphics/wx/FontCustomPlatformData.cpp:
12367        (WebCore::FontCustomPlatformData::fontPlatformData):
12368        - Ditto.
12369        * platform/graphics/wx/FontCustomPlatformData.h:
12370        - Ditto.
12371        * rendering/InlineTextBox.cpp:
12372        (WebCore::InlineTextBox::paint):
12373        - In case of RenderCombineText, we don't rotate text even in vertical writing. Also, we render original text
12374        instead of text returned from text().
12375        * rendering/RenderBlock.cpp:
12376        (WebCore::RenderBlock::computeInlinePreferredLogicalWidths):
12377        - Made to call RenderCombinedText's prepareTextCombine() here.
12378        * rendering/RenderBlockLineLayout.cpp:
12379        (WebCore::textWidth):
12380        - Made to always use the render object's width() in case of TextCombine.
12381        (WebCore::RenderBlock::findNextLineBreak):
12382        - Made to call RenderCombinedText's prepareTextCombine() here.
12383        * rendering/RenderCombineText.cpp: Added. A subclass of RenderText.
12384        (WebCore::RenderCombineText::RenderCombineText):
12385        (WebCore::RenderCombineText::styleDidChange):
12386        - Clear the flag that indicated the font has been prepared for combining. The font will be reinitialized in
12387        the next call of RenderBlock::findNextLineBreak().
12388        (WebCore::RenderCombineText::setTextInternal):
12389        - Ditto.
12390        (WebCore::RenderCombineText::width):
12391        - Returns 1-em width in case of font combine.
12392        (WebCore::RenderCombineText::adjustTextOrigin):
12393        - Adjust drawing origin point in case of font combine.
12394        (WebCore::RenderCombineText::charactersToRender):
12395        - Return original text instead of current text in case of font combine.
12396        (WebCore::RenderCombineText::combineText):
12397        - This function tries to pack passed text with; 1) the current font as is, 2) the font created
12398        from the descriptor with half-width variant specified, 3) the font with third-width variant, 4) the font
12399        with quarter-width variant.
12400        - If a suitable font successfully found, replace the current font with the new font. If no appropriate font found,
12401        we give up text-combine as the CSS spec describes.
12402        - If a new font found, we replace the text with 0xFFFC. This is needed for a combined text block to be able to
12403        behave like a single character against text decorations.
12404        * rendering/RenderCombineText.h: Added.
12405        (WebCore::RenderCombineText::isCombined):
12406        (WebCore::RenderCombineText::combinedTextWidth):
12407        - Returns 1-em width in case of font combine.
12408        (WebCore::RenderCombineText::renderName):
12409        (WebCore::toRenderCombineText):
12410        * rendering/RenderText.cpp:
12411        (WebCore::RenderText::widthFromCache):
12412        - Made to call RenderCombineText's combinedTextWidth when the text is combined.
12413        * rendering/RenderingAllInOne.cpp: Added RenderCombineText.cpp
12414        * rendering/style/RenderStyle.h:
12415        (WebCore::InheritedFlags::hasTextCombine):
12416        - Added for a quick test of TextCombine.
12417
124182011-01-31  Oliver Hunt  <oliver@apple.com>
12419
12420        Convert markstack to a slot visitor API
12421        https://bugs.webkit.org/show_bug.cgi?id=53219
12422
12423        rolling r77098, r77099, r77100, r77109, and
12424        r77111 back in, along with a few more Qt fix attempts.
12425
12426        * ForwardingHeaders/runtime/WriteBarrier.h: Added.
12427        * WebCore.exp.in:
12428        * bindings/js/DOMWrapperWorld.h:
12429        (WebCore::DOMWrapperWorld::globalData):
12430        * bindings/js/JSAudioConstructor.cpp:
12431        (WebCore::JSAudioConstructor::JSAudioConstructor):
12432        * bindings/js/JSDOMBinding.cpp:
12433        (WebCore::markDOMNodesForDocument):
12434        (WebCore::markDOMObjectWrapper):
12435        (WebCore::markDOMNodeWrapper):
12436        * bindings/js/JSDOMGlobalObject.cpp:
12437        (WebCore::JSDOMGlobalObject::markChildren):
12438        (WebCore::JSDOMGlobalObject::setInjectedScript):
12439        (WebCore::JSDOMGlobalObject::injectedScript):
12440        * bindings/js/JSDOMGlobalObject.h:
12441        (WebCore::JSDOMGlobalObject::JSDOMGlobalObjectData::JSDOMGlobalObjectData):
12442        (WebCore::getDOMConstructor):
12443        * bindings/js/JSDOMWindowCustom.cpp:
12444        (WebCore::JSDOMWindow::setLocation):
12445        (WebCore::DialogHandler::dialogCreated):
12446        * bindings/js/JSDOMWindowShell.cpp:
12447        (WebCore::JSDOMWindowShell::JSDOMWindowShell):
12448        (WebCore::JSDOMWindowShell::setWindow):
12449        (WebCore::JSDOMWindowShell::markChildren):
12450        (WebCore::JSDOMWindowShell::unwrappedObject):
12451        * bindings/js/JSDOMWindowShell.h:
12452        (WebCore::JSDOMWindowShell::window):
12453        (WebCore::JSDOMWindowShell::setWindow):
12454        * bindings/js/JSDeviceMotionEventCustom.cpp:
12455        (WebCore::createAccelerationObject):
12456        (WebCore::createRotationRateObject):
12457        * bindings/js/JSEventListener.cpp:
12458        (WebCore::JSEventListener::JSEventListener):
12459        (WebCore::JSEventListener::markJSFunction):
12460        * bindings/js/JSEventListener.h:
12461        (WebCore::JSEventListener::jsFunction):
12462        * bindings/js/JSHTMLDocumentCustom.cpp:
12463        (WebCore::JSHTMLDocument::setAll):
12464        * bindings/js/JSImageConstructor.cpp:
12465        (WebCore::JSImageConstructor::JSImageConstructor):
12466        * bindings/js/JSImageDataCustom.cpp:
12467        (WebCore::toJS):
12468        * bindings/js/JSJavaScriptCallFrameCustom.cpp:
12469        (WebCore::JSJavaScriptCallFrame::scopeChain):
12470        (WebCore::JSJavaScriptCallFrame::scopeType):
12471        * bindings/js/JSNodeFilterCondition.cpp:
12472        (WebCore::JSNodeFilterCondition::markAggregate):
12473        (WebCore::JSNodeFilterCondition::acceptNode):
12474        * bindings/js/JSNodeFilterCondition.h:
12475        * bindings/js/JSNodeFilterCustom.cpp:
12476        * bindings/js/JSOptionConstructor.cpp:
12477        (WebCore::JSOptionConstructor::JSOptionConstructor):
12478        * bindings/js/JSSQLResultSetRowListCustom.cpp:
12479        (WebCore::JSSQLResultSetRowList::item):
12480        * bindings/js/ScriptCachedFrameData.cpp:
12481        (WebCore::ScriptCachedFrameData::restore):
12482        * bindings/js/ScriptObject.cpp:
12483        (WebCore::ScriptGlobalObject::set):
12484        * bindings/js/SerializedScriptValue.cpp:
12485        (WebCore::CloneDeserializer::putProperty):
12486        * bindings/scripts/CodeGeneratorJS.pm:
12487        * bridge/qt/qt_class.cpp:
12488        (JSC::Bindings::QtClass::fallbackObject):
12489        * bridge/qt/qt_instance.cpp:
12490        (JSC::Bindings::QtInstance::QtInstance):
12491        (JSC::Bindings::QtInstance::removeCachedMethod):
12492        (JSC::Bindings::QtInstance::markAggregate):
12493        * bridge/qt/qt_instance.h:
12494        * bridge/qt/qt_runtime.cpp:
12495        (JSC::Bindings::QtRuntimeMetaMethod::QtRuntimeMetaMethod):
12496        (JSC::Bindings::QtRuntimeMetaMethod::markChildren):
12497        (JSC::Bindings::QtRuntimeMetaMethod::connectGetter):
12498        (JSC::Bindings::QtRuntimeMetaMethod::disconnectGetter):
12499        * bridge/qt/qt_runtime.h:
12500        * dom/Document.h:
12501
125022011-01-31  Dan Winship  <danw@gnome.org>
12503
12504        Reviewed by Gustavo Noronha Silva.
12505
12506        wss (websockets ssl) support for gtk via new gio TLS support
12507        https://bugs.webkit.org/show_bug.cgi?id=50344
12508
12509        Update to use GPollableOutputStream and GTlsConnection to
12510        implement wss URLs
12511
12512        * platform/network/soup/SocketStreamHandle.h:
12513        * platform/network/soup/SocketStreamHandleSoup.cpp:
12514        (WebCore::SocketStreamHandle::SocketStreamHandle):
12515        (WebCore::SocketStreamHandle::connected):
12516        (WebCore::SocketStreamHandle::platformSend):
12517        (WebCore::SocketStreamHandle::beginWaitingForSocketWritability):
12518        (WebCore::writeReadyCallback):
12519
125202011-01-31  Abhishek Arya  <inferno@chromium.org>
12521
12522        Reviewed by Dimitri Glazkov.
12523
12524        Check the textarea node still exists in document before casting
12525        it to HTMLTextAreaElement.
12526        https://bugs.webkit.org/show_bug.cgi?id=53429
12527
12528        Test: fast/forms/textarea-node-removed-from-document-crash.html
12529
12530        * rendering/RenderTextControlMultiLine.cpp:
12531        (WebCore::RenderTextControlMultiLine::~RenderTextControlMultiLine):
12532
125332011-01-27  Abhishek Arya  <inferno@chromium.org>
12534
12535        Reviewed by Dave Hyatt.
12536
12537        If beforeChild is wrapped in an anonymous table section, we need to
12538        go the parent to find it and use it before adding childs to table.
12539        https://bugs.webkit.org/show_bug.cgi?id=53276
12540
12541        We need to make sure that beforeChild's parent is "this" before calling
12542        RenderBox::addChild. The previous condition in while is too restrictive
12543        and fails to calculate the right beforeChild value when its display
12544        style is table caption.
12545        Test: fast/table/before-child-non-table-section-add-table-crash.html
12546
12547        * rendering/RenderTable.cpp:
12548        (WebCore::RenderTable::addChild):
12549
125502011-01-31  Shane Stephens  <shanestephens@google.com>
12551
12552        Reviewed by Simon Fraser.
12553
12554        AffineTransform::translateRight incorrectly computes a translateLeft.
12555        https://bugs.webkit.org/show_bug.cgi?id=52551
12556
12557        Removed translateRight and converted all uses to perform standard
12558        matrix multiplication.
12559
12560        No new tests because patch doesn't modify functionality.
12561
12562        * platform/graphics/transforms/AffineTransform.cpp:
12563        * platform/graphics/transforms/AffineTransform.h:
12564        (WebCore::AffineTransform::translation):
12565        * rendering/svg/RenderSVGResourceMarker.cpp:
12566        (WebCore::RenderSVGResourceMarker::localToParentTransform):
12567        * rendering/svg/RenderSVGRoot.cpp:
12568        (WebCore::RenderSVGRoot::localToRepaintContainerTransform):
12569        (WebCore::RenderSVGRoot::localToParentTransform):
12570        * rendering/svg/RenderSVGViewportContainer.cpp:
12571        (WebCore::RenderSVGViewportContainer::localToParentTransform):
12572        * rendering/svg/SVGTextLayoutEngine.cpp:
12573        (WebCore::SVGTextLayoutEngine::finalizeTransformMatrices):
12574
125752011-01-31  Mario Sanchez Prada  <msanchez@igalia.com>
12576
12577        Reviewed by Martin Robinson.
12578
12579        [Gtk] atk_text_set_caret_offset returns True even when it is unsuccessful
12580        https://bugs.webkit.org/show_bug.cgi?id=53389
12581
12582        Return FALSE when not able to set the caret at the specified offset.
12583
12584        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
12585        (webkit_accessible_text_set_caret_offset): Return FALSE when the
12586        range created is NULL and adjust offset to account for list markers.
12587
125882011-01-28  Pavel Feldman  <pfeldman@chromium.org>
12589
12590        Reviewed by Yury Semikhatsky.
12591
12592        Web Inspector: copy HAR to clipboard instead of saving blob on export.
12593        https://bugs.webkit.org/show_bug.cgi?id=53328
12594
12595        * inspector/front-end/NetworkPanel.js:
12596        (WebInspector.NetworkPanel.prototype._exportAll):
12597        (WebInspector.NetworkPanel.prototype._exportResource):
12598
125992011-01-30  Pavel Feldman  <pfeldman@chromium.org>
12600
12601        Reviewed by Timothy Hatcher.
12602
12603        Web Inspector: speed up network panel rendering.
12604        https://bugs.webkit.org/show_bug.cgi?id=53397
12605
12606        * inspector/front-end/DataGrid.js:
12607        (WebInspector.DataGrid.prototype.get scrollContainer):
12608        * inspector/front-end/NetworkPanel.js:
12609        (WebInspector.NetworkPanel.prototype.elementsToRestoreScrollPositionsFor):
12610        (WebInspector.NetworkPanel.prototype._positionSummaryBar):
12611        (WebInspector.NetworkPanel.prototype._createTable):
12612        (WebInspector.NetworkPanel.prototype._exportResource):
12613        (WebInspector.NetworkPanel.prototype._onScroll):
12614        * inspector/front-end/networkPanel.css:
12615        (.network-sidebar .data-grid.small tr.offscreen):
12616        (.network-sidebar .data-grid tr.offscreen):
12617        (.network-sidebar .data-grid tr.offscreen td):
12618
126192011-01-31  Peter Varga  <pvarga@webkit.org>
12620
12621        Reviewed by Andreas Kling.
12622
12623        Remove wrec from WebCore
12624        https://bugs.webkit.org/show_bug.cgi?id=53298
12625
12626        No new tests needed.
12627
12628        * Android.jscbindings.mk:
12629        * ForwardingHeaders/wrec/WREC.h: Removed.
12630        * WebCore.vcproj/WebCore.vcproj:
12631        * WebCore.vcproj/copyForwardingHeaders.cmd:
12632
126332011-01-31  Sheriff Bot  <webkit.review.bot@gmail.com>
12634
12635        Unreviewed, rolling out r76969.
12636        http://trac.webkit.org/changeset/76969
12637        https://bugs.webkit.org/show_bug.cgi?id=53418
12638
12639        "It is causing crashes in GTK+ and Leopard bots" (Requested by
12640        alexg__ on #webkit).
12641
12642        * bridge/runtime_root.cpp:
12643        (JSC::Bindings::RootObject::invalidate):
12644        (JSC::Bindings::RootObject::addRuntimeObject):
12645        (JSC::Bindings::RootObject::removeRuntimeObject):
12646        * bridge/runtime_root.h:
12647
126482011-01-31  Antti Koivisto  <antti@apple.com>
12649
12650        Not reviewed.
12651
12652        Spelling.
12653
12654        * css/CSSSelectorList.h:
12655        (WebCore::CSSSelectorList::next):
12656
126572011-01-31  Yury Semikhatsky  <yurys@chromium.org>
12658
12659        Unreviewed. Fix Chromium compilation on Linux.
12660
12661        * platform/graphics/ShadowBlur.cpp: added PLATFORM(CHROMIUM) guard
12662        * platform/graphics/ShadowBlur.h: added missing ColorSpace.h header include
12663
126642011-01-31  Yury Semikhatsky  <yurys@chromium.org>
12665
12666        Unreviewed. Fix Chromium compilation on Mac broken by r77101.
12667
12668        * WebCore.gypi: add ShadowBlur.{h,cpp} to the gypi file.
12669
126702011-01-31  Mikhail Naganov  <mnaganov@chromium.org>
12671
12672        Reviewed by Yury Semikhatsky.
12673
12674        WebInspector: Change button title from "Clear CPU profiles" to "Clear all profiles".
12675
12676        https://bugs.webkit.org/show_bug.cgi?id=53309
12677
12678        * English.lproj/localizedStrings.js:
12679        * inspector/front-end/ProfilesPanel.js:
12680        (WebInspector.ProfilesPanel):
12681
126822011-01-31  Carlos Garcia Campos  <cgarcia@igalia.com>
12683
12684        Unreviewed, fix the build with current GTK+ 3.x.
12685
12686        * plugins/gtk/gtk2xtbin.c:
12687        * plugins/gtk/gtk2xtbin.h:
12688
126892011-01-30  Kenichi Ishibashi  <bashi@google.com>
12690
12691        Reviewed by Kent Tamura.
12692
12693        Dangling form associated elements should not be registered on the document
12694        https://bugs.webkit.org/show_bug.cgi?id=53223
12695
12696        Adds insertedIntoDocument() and remvoedFromDocument() to
12697        FormAssociatedElement class to register the element on the document
12698        if and only if it actually inserted into (removed from) the document.
12699
12700        Test: fast/forms/dangling-form-element-crash.html
12701
12702        * html/FormAssociatedElement.cpp:
12703        (WebCore::FormAssociatedElement::insertedIntoDocument): Added.
12704        (WebCore::FormAssociatedElement::removedFromDocument): Ditto.
12705        (WebCore::FormAssociatedElement::insertedIntoTree): Don't register
12706        the element to a document.
12707        (WebCore::FormAssociatedElement::removedFromTree): Don't unregister
12708        the element from a document.
12709        * html/FormAssociatedElement.h:
12710        * html/HTMLFormControlElement.cpp:
12711        (WebCore::HTMLFormControlElement::insertedIntoDocument): Added.
12712        (WebCore::HTMLFormControlElement::removedFromDocument): Ditto.
12713        * html/HTMLFormControlElement.h:
12714        * html/HTMLObjectElement.cpp:
12715        (WebCore::HTMLObjectElement::insertedIntoDocument): Calls
12716        FormAssociatedElement::insertedIntoDocument().
12717        (WebCore::HTMLObjectElement::removedFromDocument): Calls
12718        FormAssociatedElement::removedFromDocument().
12719
127202011-01-30  Csaba Osztrogonác  <ossy@webkit.org>
12721
12722        Unreviewed, rolling out r77098, r77099, r77100, r77109, and
12723        r77111.
12724        http://trac.webkit.org/changeset/77098
12725        http://trac.webkit.org/changeset/77099
12726        http://trac.webkit.org/changeset/77100
12727        http://trac.webkit.org/changeset/77109
12728        http://trac.webkit.org/changeset/77111
12729        https://bugs.webkit.org/show_bug.cgi?id=53219
12730
12731        Qt build is broken
12732
12733        * ForwardingHeaders/runtime/WriteBarrier.h: Removed.
12734        * WebCore.exp.in:
12735        * bindings/js/DOMWrapperWorld.h:
12736        * bindings/js/JSAudioConstructor.cpp:
12737        (WebCore::JSAudioConstructor::JSAudioConstructor):
12738        * bindings/js/JSDOMBinding.cpp:
12739        (WebCore::markDOMNodesForDocument):
12740        (WebCore::markDOMObjectWrapper):
12741        (WebCore::markDOMNodeWrapper):
12742        * bindings/js/JSDOMGlobalObject.cpp:
12743        (WebCore::JSDOMGlobalObject::markChildren):
12744        (WebCore::JSDOMGlobalObject::setInjectedScript):
12745        (WebCore::JSDOMGlobalObject::injectedScript):
12746        * bindings/js/JSDOMGlobalObject.h:
12747        (WebCore::JSDOMGlobalObject::JSDOMGlobalObjectData::JSDOMGlobalObjectData):
12748        (WebCore::getDOMConstructor):
12749        * bindings/js/JSDOMWindowCustom.cpp:
12750        (WebCore::JSDOMWindow::setLocation):
12751        (WebCore::DialogHandler::dialogCreated):
12752        * bindings/js/JSDOMWindowShell.cpp:
12753        (WebCore::JSDOMWindowShell::JSDOMWindowShell):
12754        (WebCore::JSDOMWindowShell::setWindow):
12755        (WebCore::JSDOMWindowShell::markChildren):
12756        (WebCore::JSDOMWindowShell::unwrappedObject):
12757        * bindings/js/JSDOMWindowShell.h:
12758        (WebCore::JSDOMWindowShell::window):
12759        (WebCore::JSDOMWindowShell::setWindow):
12760        * bindings/js/JSDeviceMotionEventCustom.cpp:
12761        (WebCore::createAccelerationObject):
12762        (WebCore::createRotationRateObject):
12763        * bindings/js/JSEventListener.cpp:
12764        (WebCore::JSEventListener::JSEventListener):
12765        (WebCore::JSEventListener::markJSFunction):
12766        * bindings/js/JSEventListener.h:
12767        (WebCore::JSEventListener::jsFunction):
12768        * bindings/js/JSHTMLDocumentCustom.cpp:
12769        (WebCore::JSHTMLDocument::setAll):
12770        * bindings/js/JSImageConstructor.cpp:
12771        (WebCore::JSImageConstructor::JSImageConstructor):
12772        * bindings/js/JSImageDataCustom.cpp:
12773        (WebCore::toJS):
12774        * bindings/js/JSJavaScriptCallFrameCustom.cpp:
12775        (WebCore::JSJavaScriptCallFrame::scopeChain):
12776        (WebCore::JSJavaScriptCallFrame::scopeType):
12777        * bindings/js/JSNodeFilterCondition.cpp:
12778        (WebCore::JSNodeFilterCondition::markAggregate):
12779        (WebCore::JSNodeFilterCondition::acceptNode):
12780        * bindings/js/JSNodeFilterCondition.h:
12781        * bindings/js/JSNodeFilterCustom.cpp:
12782        * bindings/js/JSOptionConstructor.cpp:
12783        (WebCore::JSOptionConstructor::JSOptionConstructor):
12784        * bindings/js/JSSQLResultSetRowListCustom.cpp:
12785        (WebCore::JSSQLResultSetRowList::item):
12786        * bindings/js/ScriptCachedFrameData.cpp:
12787        (WebCore::ScriptCachedFrameData::restore):
12788        * bindings/js/ScriptObject.cpp:
12789        (WebCore::ScriptGlobalObject::set):
12790        * bindings/js/SerializedScriptValue.cpp:
12791        (WebCore::CloneDeserializer::putProperty):
12792        * bindings/scripts/CodeGeneratorJS.pm:
12793        * bridge/qt/qt_instance.cpp:
12794        (JSC::Bindings::QtInstance::QtInstance):
12795        (JSC::Bindings::QtInstance::removeCachedMethod):
12796        (JSC::Bindings::QtInstance::markAggregate):
12797        * bridge/qt/qt_instance.h:
12798        * bridge/qt/qt_runtime.cpp:
12799        (JSC::Bindings::QtRuntimeMetaMethod::QtRuntimeMetaMethod):
12800        (JSC::Bindings::QtRuntimeMetaMethod::markChildren):
12801        (JSC::Bindings::QtRuntimeMetaMethod::connectGetter):
12802        (JSC::Bindings::QtRuntimeMetaMethod::disconnectGetter):
12803        * bridge/qt/qt_runtime.h:
12804        * bridge/runtime_root.cpp:
12805        (JSC::Bindings::RootObject::invalidate):
12806        * bridge/runtime_root.h:
12807        * dom/Document.h:
12808
128092011-01-30  Sheriff Bot  <webkit.review.bot@gmail.com>
12810
12811        Unreviewed, rolling out r77107.
12812        http://trac.webkit.org/changeset/77107
12813        https://bugs.webkit.org/show_bug.cgi?id=53412
12814
12815        Caused 5 new form-related test crashes (Requested by smfr on
12816        #webkit).
12817
12818        * css/CSSSelector.cpp:
12819        (WebCore::CSSSelector::pseudoId):
12820        (WebCore::nameToPseudoTypeMap):
12821        (WebCore::CSSSelector::extractPseudoType):
12822        * css/CSSSelector.h:
12823        * html/HTMLProgressElement.cpp:
12824        (WebCore::HTMLProgressElement::parseMappedAttribute):
12825        (WebCore::HTMLProgressElement::attach):
12826        * html/HTMLProgressElement.h:
12827        * rendering/RenderProgress.cpp:
12828        (WebCore::RenderProgress::~RenderProgress):
12829        (WebCore::RenderProgress::updateFromElement):
12830        (WebCore::RenderProgress::layoutParts):
12831        (WebCore::RenderProgress::shouldHaveParts):
12832        * rendering/RenderProgress.h:
12833        * rendering/style/RenderStyleConstants.h:
12834
128352011-01-30  Simon Fraser  <simon.fraser@apple.com>
12836
12837        Reviewed by Sam Weinig.
12838
12839        Enhance ShadowBlur to render inset box shadows
12840        https://bugs.webkit.org/show_bug.cgi?id=51567
12841        
12842        Use ShadowBlur for inset box-shadows with CG. It 
12843        currently lacks a tiled version, but is still much
12844        faster than CG shadows.
12845
12846        Test: fast/box-shadow/inset-box-shadow-radius.html
12847
12848        * platform/graphics/ShadowBlur.cpp:
12849        * platform/graphics/ShadowBlur.h: New method for inset
12850        shadows.
12851        (WebCore::ShadowBlur::drawInsetShadow): 
12852
12853        * platform/graphics/GraphicsContext.cpp: #ifdef out
12854        fillRectWithRoundedHole() for CG.
12855
12856        * platform/graphics/cg/GraphicsContextCG.cpp:
12857        (WebCore::GraphicsContext::fillRectWithRoundedHole): If there's
12858        a shadow with a radius > 0, use ShadowBlur.
12859
128602011-01-28  Kenneth Russell  <kbr@google.com>
12861
12862        Reviewed by Chris Marrin.
12863
12864        WebGL shows PNG Textures with indexed colors too dark
12865        https://bugs.webkit.org/show_bug.cgi?id=47477
12866
12867        Properly handle indexed PNG images by re-rendering them as RGBA
12868        images before upload. Verified with this layout test and the test
12869        cases from bugs 47477 and 53269.
12870
12871        * platform/graphics/cg/GraphicsContext3DCG.cpp:
12872        (WebCore::GraphicsContext3D::getImageData):
12873
128742011-01-27  MORITA Hajime  <morrita@google.com>
12875
12876        Reviewed by Dimitri Glazkov.
12877        
12878        Convert <progress> shadow DOM to a DOM-based shadow.
12879        https://bugs.webkit.org/show_bug.cgi?id=50660
12880
12881        * Removed RenderProgress::m_valuePart, moved the shadow node
12882          to the shadow root of HTMLProgressElement.
12883        * Removed hard-coded pseudo ID for -webkit-progress-bar-value.
12884          ProgressBarValueElement is defined only for overriding
12885          shadowPseudoId().
12886        
12887        No new tests. No behavioral change.
12888
12889        * css/CSSSelector.cpp:
12890        (WebCore::CSSSelector::pseudoId):
12891        (WebCore::nameToPseudoTypeMap):
12892        (WebCore::CSSSelector::extractPseudoType):
12893        * css/CSSSelector.h:
12894        * html/HTMLProgressElement.cpp:
12895        (WebCore::ProgressBarValueElement::ProgressBarValueElement):
12896        (WebCore::ProgressBarValueElement::shadowPseudoId):
12897        (WebCore::ProgressBarValueElement::create):
12898        (WebCore::HTMLProgressElement::parseMappedAttribute):
12899        (WebCore::HTMLProgressElement::attach):
12900        (WebCore::HTMLProgressElement::valuePart):
12901        (WebCore::HTMLProgressElement::didElementStateChange):
12902        (WebCore::HTMLProgressElement::createShadowSubtreeIfNeeded):
12903        * html/HTMLProgressElement.h:
12904        * rendering/RenderProgress.cpp:
12905        (WebCore::RenderProgress::~RenderProgress):
12906        (WebCore::RenderProgress::updateFromElement):
12907        (WebCore::RenderProgress::layoutParts):
12908        (WebCore::RenderProgress::shouldHaveParts):
12909        (WebCore::RenderProgress::valuePart):
12910        * rendering/RenderProgress.h:
12911        * rendering/style/RenderStyleConstants.h:
12912
129132011-01-30  Simon Fraser  <simon.fraser@apple.com>
12914
12915        Reviewed by Ariya Hidayat.
12916
12917        Enhance ShadowBlur to render inset box shadows; Part 1.
12918        https://bugs.webkit.org/show_bug.cgi?id=51567
12919        
12920        Add a new method to GraphicsContext to render a rect with a rounded hole,
12921        for use by inset box-shadow code. Knowledge that we're rendering a rounded
12922        hole will enable ShadowBlur to be used here in future.
12923
12924        * platform/graphics/GraphicsContext.cpp:
12925        (WebCore::GraphicsContext::fillRectWithRoundedHole):
12926        * platform/graphics/GraphicsContext.h:
12927        * rendering/RenderBoxModelObject.cpp:
12928        (WebCore::RenderBoxModelObject::paintBoxShadow):
12929
129302011-01-23  MORITA Hajime  <morrita@google.com>
12931
12932        Reviewed by Eric Seidel.
12933
12934        REGRESSION: Inset shadow with too large border radius misses rounded corner.
12935        https://bugs.webkit.org/show_bug.cgi?id=52800
12936
12937        The refactoring on r76083 broke the invariant between border
12938        IntRect and its radii because RoundedIntRect::setRect() is called
12939        after getRoundedInnerBorderWithBorderWidths(), which enforces the
12940        invariant. Th rounded-rect clipping code verifies the invariant,
12941        and discard the invalid radii, that results broken paintings.
12942        
12943        This change moved setRect() before
12944        getRoundedInnerBorderWithBorderWidths() not to modify the valid
12945        RoundedIntRect value.
12946        
12947        Test: fast/box-shadow/inset-with-extraordinary-radii-and-border.html
12948
12949        * rendering/RenderBoxModelObject.cpp:
12950        (WebCore::RenderBoxModelObject::paintBoxShadow):
12951
129522011-01-30  Simon Fraser  <simon.fraser@apple.com>
12953
12954        Attempt to fix Windows build by adding ShadowBlur.cpp/h to the
12955        vcproj.
12956
12957        * WebCore.vcproj/WebCore.vcproj:
12958
129592011-01-30  Simon Fraser  <simon.fraser@apple.com>
12960
12961        Reviewed by Dan Bernstein.
12962
12963        -webkit-box-shadow causes awful scroll/resize/redraw performance
12964        https://bugs.webkit.org/show_bug.cgi?id=22102
12965        
12966        Use ShadowBlur for CG, whe rendering shadows on rects and
12967        rounded rects outside of canvas.
12968        
12969        CG shadows with a radius of more than 8px do not render
12970        correctly. We preserve this incorrect rendering by compensating
12971        for it when rending -webkit-box-shadow. Calls that should use
12972        this deprecated radius behavior now use setLegacyShadow().
12973
12974        Test: fast/box-shadow/box-shadow-transformed.html
12975        
12976        * html/canvas/CanvasRenderingContext2D.cpp: Use setLegacyShadow()
12977        for canvas, to indicate that it should use the deprecated radius
12978        behavior.
12979        (WebCore::CanvasRenderingContext2D::setAllAttributesToDefault): Ditto.
12980        (WebCore::CanvasRenderingContext2D::setShadow): Ditto.
12981        (WebCore::CanvasRenderingContext2D::applyShadow): Ditto.
12982        
12983        * platform/graphics/GraphicsContext.cpp:
12984        (WebCore::GraphicsContext::setLegacyShadow): Set the m_state.shadowsUseLegacyRadius bit.
12985        
12986        * platform/graphics/GraphicsContext.h:
12987        (WebCore::GraphicsContextState::GraphicsContextState): Add a 
12988        shadowsUseLegacyRadius bit to the state.
12989        
12990        * platform/graphics/cg/GraphicsContextCG.cpp:
12991        (WebCore::radiusToLegacyRadius): Map from the actual radius to one
12992        that approximates CG behavior.
12993        (WebCore::hasBlurredShadow): Helper that returns true if we have a shadow
12994        with a non-zero blur radius.
12995        (WebCore::GraphicsContext::fillRect): Use ShadowBlur if not canvas.
12996        (WebCore::GraphicsContext::fillRoundedRect): Ditto.
12997        (WebCore::GraphicsContext::setPlatformShadow): Comment.
12998
12999        * rendering/RenderBoxModelObject.cpp:
13000        (WebCore::RenderBoxModelObject::paintBoxShadow): Call setLegacyShadow()
13001        for -webkit-box-shadow.
13002
13003        * platform/graphics/ShadowBlur.cpp: 
13004        (WebCore::ShadowBlur::calculateLayerBoundingRect): Fix some pixel crack issues
13005        by rounding up the blur radius.
13006        (WebCore::ShadowBlur::drawRectShadow): Ditto
13007        (WebCore::ShadowBlur::drawRectShadowWithTiling): Ditto.
13008
130092011-01-30  Oliver Hunt  <oliver@apple.com>
13010
13011        Try to fix Qt build (again).
13012
13013        * bridge/qt/qt_runtime.cpp:
13014        (JSC::Bindings::QtRuntimeMetaMethod::connectGetter):
13015        (JSC::Bindings::QtRuntimeMetaMethod::disconnectGetter):
13016
130172011-01-30  Oliver Hunt  <oliver@apple.com>
13018
13019        Try to fix Qt build.
13020
13021        * bridge/qt/qt_instance.cpp:
13022        (JSC::Bindings::QtInstance::QtInstance):
13023        (JSC::Bindings::QtInstance::removeCachedMethod):
13024        (JSC::Bindings::QtInstance::markAggregate):
13025        * bridge/qt/qt_instance.h:
13026
130272011-01-30  Oliver Hunt  <oliver@apple.com>
13028
13029        Convert markstack to a slot visitor API
13030        https://bugs.webkit.org/show_bug.cgi?id=53219
13031
13032        rolling r77006 and r77020 back in.
13033
13034        * ForwardingHeaders/runtime/WriteBarrier.h: Added.
13035        * WebCore.exp.in:
13036        * bindings/js/DOMWrapperWorld.h:
13037        (WebCore::DOMWrapperWorld::globalData):
13038        * bindings/js/JSAudioConstructor.cpp:
13039        (WebCore::JSAudioConstructor::JSAudioConstructor):
13040        * bindings/js/JSDOMBinding.cpp:
13041        (WebCore::markDOMNodesForDocument):
13042        (WebCore::markDOMObjectWrapper):
13043        (WebCore::markDOMNodeWrapper):
13044        * bindings/js/JSDOMGlobalObject.cpp:
13045        (WebCore::JSDOMGlobalObject::markChildren):
13046        (WebCore::JSDOMGlobalObject::setInjectedScript):
13047        (WebCore::JSDOMGlobalObject::injectedScript):
13048        * bindings/js/JSDOMGlobalObject.h:
13049        (WebCore::JSDOMGlobalObject::JSDOMGlobalObjectData::JSDOMGlobalObjectData):
13050        (WebCore::getDOMConstructor):
13051        * bindings/js/JSDOMWindowCustom.cpp:
13052        (WebCore::JSDOMWindow::setLocation):
13053        (WebCore::DialogHandler::dialogCreated):
13054        * bindings/js/JSDOMWindowShell.cpp:
13055        (WebCore::JSDOMWindowShell::JSDOMWindowShell):
13056        (WebCore::JSDOMWindowShell::setWindow):
13057        (WebCore::JSDOMWindowShell::markChildren):
13058        (WebCore::JSDOMWindowShell::unwrappedObject):
13059        * bindings/js/JSDOMWindowShell.h:
13060        (WebCore::JSDOMWindowShell::window):
13061        (WebCore::JSDOMWindowShell::setWindow):
13062        * bindings/js/JSDeviceMotionEventCustom.cpp:
13063        (WebCore::createAccelerationObject):
13064        (WebCore::createRotationRateObject):
13065        * bindings/js/JSEventListener.cpp:
13066        (WebCore::JSEventListener::JSEventListener):
13067        (WebCore::JSEventListener::markJSFunction):
13068        * bindings/js/JSEventListener.h:
13069        (WebCore::JSEventListener::jsFunction):
13070        * bindings/js/JSHTMLDocumentCustom.cpp:
13071        (WebCore::JSHTMLDocument::setAll):
13072        * bindings/js/JSImageConstructor.cpp:
13073        (WebCore::JSImageConstructor::JSImageConstructor):
13074        * bindings/js/JSImageDataCustom.cpp:
13075        (WebCore::toJS):
13076        * bindings/js/JSJavaScriptCallFrameCustom.cpp:
13077        (WebCore::JSJavaScriptCallFrame::scopeChain):
13078        (WebCore::JSJavaScriptCallFrame::scopeType):
13079        * bindings/js/JSNodeFilterCondition.cpp:
13080        (WebCore::JSNodeFilterCondition::markAggregate):
13081        (WebCore::JSNodeFilterCondition::acceptNode):
13082        * bindings/js/JSNodeFilterCondition.h:
13083        * bindings/js/JSNodeFilterCustom.cpp:
13084        * bindings/js/JSOptionConstructor.cpp:
13085        (WebCore::JSOptionConstructor::JSOptionConstructor):
13086        * bindings/js/JSSQLResultSetRowListCustom.cpp:
13087        (WebCore::JSSQLResultSetRowList::item):
13088        * bindings/js/ScriptCachedFrameData.cpp:
13089        (WebCore::ScriptCachedFrameData::restore):
13090        * bindings/js/ScriptObject.cpp:
13091        (WebCore::ScriptGlobalObject::set):
13092        * bindings/js/SerializedScriptValue.cpp:
13093        (WebCore::CloneDeserializer::putProperty):
13094        * bindings/scripts/CodeGeneratorJS.pm:
13095        * bridge/qt/qt_runtime.cpp:
13096        (JSC::Bindings::QtRuntimeMetaMethod::QtRuntimeMetaMethod):
13097        (JSC::Bindings::QtRuntimeMetaMethod::markChildren):
13098        (JSC::Bindings::QtRuntimeMetaMethod::connectGetter):
13099        (JSC::Bindings::QtRuntimeMetaMethod::disconnectGetter):
13100        * bridge/qt/qt_runtime.h:
13101        * bridge/runtime_root.cpp:
13102        (JSC::Bindings::RootObject::invalidate):
13103        * bridge/runtime_root.h:
13104        * dom/Document.h:
13105
131062011-01-30  Simon Fraser  <simon.fraser@apple.com>
13107
13108        Reviewed by Sam Weinig.
13109
13110        Make ContextShadow code cross-platform
13111        https://bugs.webkit.org/show_bug.cgi?id=51312
13112
13113        Add a new class, ShadowBlur, that contains most of the
13114        code from ContextShadow, but is fully cross-platform.
13115        It depends on one new method, GraphicsContext::clipBounds(),
13116        which platforms will have to implement.
13117        
13118        Add ShadowBlur to the Mac Xcode project, but don't use it
13119        anywhere yet.
13120
13121        * WebCore.xcodeproj/project.pbxproj:
13122        * platform/graphics/GraphicsContext.cpp:
13123        (WebCore::GraphicsContext::clipBounds):
13124        * platform/graphics/GraphicsContext.h:
13125        * platform/graphics/ShadowBlur.cpp: Added.
13126        (WebCore::roundUpToMultipleOf32):
13127        (WebCore::ScratchBuffer::ScratchBuffer):
13128        (WebCore::ScratchBuffer::getScratchBuffer):
13129        (WebCore::ScratchBuffer::scheduleScratchBufferPurge):
13130        (WebCore::ScratchBuffer::timerFired):
13131        (WebCore::ScratchBuffer::clearScratchBuffer):
13132        (WebCore::ScratchBuffer::shared):
13133        (WebCore::ShadowBlur::ShadowBlur):
13134        (WebCore::ShadowBlur::blurLayerImage):
13135        (WebCore::ShadowBlur::adjustBlurDistance):
13136        (WebCore::ShadowBlur::calculateLayerBoundingRect):
13137        (WebCore::ShadowBlur::beginShadowLayer):
13138        (WebCore::ShadowBlur::endShadowLayer):
13139        (WebCore::ShadowBlur::drawRectShadow):
13140        (WebCore::ShadowBlur::drawRectShadowWithoutTiling):
13141        (WebCore::ShadowBlur::drawRectShadowWithTiling):
13142        (WebCore::ShadowBlur::clipBounds):
13143        * platform/graphics/ShadowBlur.h: Added.
13144        (WebCore::ShadowBlur::setShadowsIgnoreTransforms):
13145        (WebCore::ShadowBlur::shadowsIgnoreTransforms):
13146        * platform/graphics/cg/GraphicsContextCG.cpp:
13147        (WebCore::GraphicsContext::clipBounds):
13148
131492011-01-29  Simon Fraser  <simon.fraser@apple.com>
13150
13151        Reviewed by Dan Bernstein.
13152
13153        CSS3 gradients with em-based stops fail to repaint when font size changes
13154        https://bugs.webkit.org/show_bug.cgi?id=51845
13155        
13156        Mark as uncacheable gradidients whose color stops depend on font size,
13157        and don't attempt to put these into CSSImageGeneratorValue's image cache.
13158        This means we return a new gradient each time, which is fairly cheap, and
13159        fixes repaint issues under changing font size.
13160
13161        Test: fast/repaint/gradients-em-stops-repaint.html
13162
13163        * css/CSSGradientValue.cpp:
13164        (WebCore::CSSGradientValue::image):
13165        (WebCore::CSSGradientValue::isCacheable):
13166        * css/CSSGradientValue.h:
13167
131682011-01-29  Geoffrey Garen  <ggaren@apple.com>
13169
13170        Undo try to fix the Qt build.
13171        
13172        My guess didn't work.
13173
13174        * WebCore.pro:
13175
131762011-01-29  Geoffrey Garen  <ggaren@apple.com>
13177
13178        Try to fix the Qt build.
13179
13180        * WebCore.pro: Added platform/text/CharacterNames.h.
13181
131822011-01-28  Geoffrey Garen  <ggaren@apple.com>
13183
13184        Reviewed by Maciej Stachowiak.
13185
13186        Some more Heap cleanup.
13187        https://bugs.webkit.org/show_bug.cgi?id=53357
13188        
13189        Updated for JavaScriptCore changes.
13190
13191        * bindings/js/ScriptGCEvent.cpp:
13192        (WebCore::ScriptGCEvent::getHeapSize):
13193
131942011-01-29  Adam Barth  <abarth@webkit.org>
13195
13196        Reviewed by Daniel Bates.
13197
13198        Fix XSSFilter crash when extracting the source for a token twice
13199        https://bugs.webkit.org/show_bug.cgi?id=53368
13200
13201        Previously, it was unsafe to extract the source for the same token
13202        twice because the HTMLSourceTracker would advance its internal
13203        representation of the SegmentedString.  This patch introduces a cache
13204        to make calling HTMLSourceTracker::sourceForToken multiple times safe.
13205
13206        * html/parser/HTMLSourceTracker.cpp:
13207        (WebCore::HTMLSourceTracker::end):
13208        (WebCore::HTMLSourceTracker::sourceForToken):
13209        * html/parser/HTMLSourceTracker.h:
13210
132112011-01-29  Maciej Stachowiak  <mjs@apple.com>
13212
13213        Reviewed by Dan Bernstein.
13214
13215        Fix fat build for both 32-bit and 64-bit under llvm-gcc 4.2
13216        https://bugs.webkit.org/show_bug.cgi?id=53386
13217
13218        * platform/mac/ScrollAnimatorMac.mm:
13219        (WebCore::elasticDeltaForReboundDelta):
13220        (WebCore::scrollWheelMultiplier):
13221        (WebCore::ScrollAnimatorMac::smoothScrollWithEvent):
13222        (WebCore::ScrollAnimatorMac::beginScrollGesture):
13223        (WebCore::roundTowardZero):
13224        (WebCore::ScrollAnimatorMac::snapRubberBandTimerFired):
13225
132262011-01-29  Daniel Bates  <dbates@rim.com>
13227
13228        Reviewed by Maciej Stachowiak.
13229
13230        Remove reference to ${CMAKE_SOURCE_DIR}/Source in CMake files
13231        https://bugs.webkit.org/show_bug.cgi?id=53382
13232
13233        Our file system hierarchy ensures that CMAKE_SOURCE_DIR is defined to be /Source.
13234        So, ${CMAKE_SOURCE_DIR}/Source evaluates to the non-existent directory /Source/Source.
13235        Therefore, we should remove such references.
13236
13237        * CMakeLists.txt:
13238
132392011-01-29  Sam Weinig  <sam@webkit.org>
13240
13241        Reviewed by Jon Honeycutt.
13242
13243        Fix 32-bit build on the Mac.
13244
13245        * platform/mac/ScrollAnimatorMac.mm:
13246        (WebCore::roundTowardZero):
13247        (WebCore::roundToDevicePixelTowardZero):
13248        Use floats instead of doubles to avoid double-to-float conversion
13249        issues.
13250
132512011-01-29  Simon Fraser  <simon.fraser@apple.com>
13252
13253        Reviewed by Adam Barth.
13254
13255        Use clampToInteger() functions in a few places
13256        https://bugs.webkit.org/show_bug.cgi?id=53363
13257        
13258        * css/CSSStyleSelector.cpp:
13259        (WebCore::CSSStyleSelector::applyProperty): Use clampToInteger() for z-index.
13260        (WebCore::CSSStyleSelector::createTransformOperations): Use clampToPositiveInteger().
13261        * platform/graphics/transforms/PerspectiveTransformOperation.cpp: Ditto.
13262        (WebCore::PerspectiveTransformOperation::blend): Ditto.
13263
132642011-01-29  Patrick Gansterer  <paroga@webkit.org>
13265
13266        Reviewed by David Kilzer.
13267
13268        Move CharacterNames.h into WTF directory
13269        https://bugs.webkit.org/show_bug.cgi?id=49618
13270
13271        * ForwardingHeaders/wtf/unicode/CharacterNames.h: Added.
13272        * GNUmakefile.am:
13273        * WebCore.gypi:
13274        * WebCore.vcproj/WebCore.vcproj:
13275        * WebCore.xcodeproj/project.pbxproj:
13276        * accessibility/AccessibilityObject.cpp:
13277        * accessibility/AccessibilityRenderObject.cpp:
13278        * bindings/cpp/WebDOMHTMLDocumentCustom.cpp:
13279        * bindings/js/JSHTMLDocumentCustom.cpp:
13280        * dom/Position.cpp:
13281        * dom/SelectElement.cpp:
13282        * editing/CompositeEditCommand.cpp:
13283        * editing/Editor.cpp:
13284        * editing/HTMLInterchange.cpp:
13285        * editing/InsertTextCommand.cpp:
13286        * editing/MarkupAccumulator.cpp:
13287        * editing/TextIterator.cpp:
13288        * editing/VisibleSelection.cpp:
13289        * editing/htmlediting.cpp:
13290        * editing/htmlediting.h:
13291        * editing/markup.cpp:
13292        * html/FTPDirectoryDocument.cpp:
13293        * html/HTMLFormControlElement.cpp:
13294        * html/parser/HTMLTreeBuilder.cpp:
13295        * loader/appcache/ManifestParser.cpp:
13296        * platform/chromium/PopupMenuChromium.cpp:
13297        * platform/graphics/Font.h:
13298        * platform/graphics/FontFastPath.cpp:
13299        * platform/graphics/GlyphPageTreeNode.cpp:
13300        * platform/graphics/StringTruncator.cpp:
13301        * platform/graphics/mac/ComplexTextController.cpp:
13302        * platform/graphics/mac/ComplexTextControllerATSUI.cpp:
13303        * platform/graphics/wince/GraphicsContextWinCE.cpp:
13304        * platform/mac/PasteboardMac.mm:
13305        * platform/text/TextCodecICU.cpp:
13306        * platform/text/mac/TextCodecMac.cpp:
13307        * platform/text/transcoder/FontTranscoder.cpp:
13308        * rendering/RenderBlockLineLayout.cpp:
13309        * rendering/RenderFlexibleBox.cpp:
13310        * rendering/RenderListMarker.cpp:
13311        * rendering/RenderText.cpp:
13312        * rendering/RenderTextControl.cpp:
13313        * rendering/RenderTreeAsText.cpp:
13314        * rendering/break_lines.cpp:
13315        * rendering/mathml/RenderMathMLOperator.h:
13316        * websockets/WebSocketHandshake.cpp:
13317        * wml/WMLTableElement.cpp:
13318
133192011-01-29  Dan Winship  <danw@gnome.org>
13320
13321        Reviewed by Xan Lopez.
13322
13323        [GTK] Remove HAVE_LIBSOUP_2_29_90 conditionals; we depend on
13324        libsoup 2.33.1 now.
13325        https://bugs.webkit.org/show_bug.cgi?id=50675
13326
13327        * platform/network/soup/CookieJarSoup.cpp:
13328        (WebCore::defaultCookieJar):
13329        (WebCore::setCookies):
13330        * platform/network/soup/ResourceHandleSoup.cpp:
13331        (WebCore::ResourceHandle::prepareForURL):
13332        (WebCore::restartedCallback):
13333        (WebCore::startHttp):
13334        * platform/network/soup/ResourceRequestSoup.cpp:
13335        (WebCore::ResourceRequest::updateSoupMessage):
13336        (WebCore::ResourceRequest::toSoupMessage):
13337        (WebCore::ResourceRequest::updateFromSoupMessage):
13338
133392011-01-29  Adam Barth  <abarth@webkit.org>
13340
13341        Reviewed by Daniel Bates.
13342
13343        XSSFilter should replace URLs with about:blank instead of the empty string
13344        https://bugs.webkit.org/show_bug.cgi?id=53370
13345
13346        Using the empty string will make the URL complete to the current
13347        document's URL, which isn't really what we want.  Instead, we want to
13348        use about:blank, which is safe.
13349
13350        * html/parser/XSSFilter.cpp:
13351        (WebCore::XSSFilter::filterObjectToken):
13352        (WebCore::XSSFilter::filterEmbedToken):
13353
133542011-01-29  Adam Barth  <abarth@webkit.org>
13355
13356        Reviewed by Daniel Bates.
13357
13358        XSSFilter should pass xssAuditor/script-tag-addslashes*
13359        https://bugs.webkit.org/show_bug.cgi?id=53365
13360
13361        We need to canonicalize strings to avoid being tricked by addslashes.
13362
13363        * html/parser/XSSFilter.cpp:
13364        (WebCore::HTMLNames::isNonCanonicalCharacter):
13365            - This function is copied from the XSSAuditor (with some tweaks).
13366              We'll eventually remove the XSSAuditor once we've got XSSFilter
13367              working properly.
13368        (WebCore::HTMLNames::canonicalize):
13369        (WebCore::HTMLNames::decodeURL):
13370        (WebCore::XSSFilter::isContainedInRequest):
13371
133722011-01-29  Adam Barth  <abarth@webkit.org>
13373
13374        Reviewed by Daniel Bates.
13375
13376        XSSFilter should pass xssAuditor/script-tag-with-source-same-host.html
13377        and xssAuditor/script-tag-post-*
13378        https://bugs.webkit.org/show_bug.cgi?id=53364
13379
13380        We're supposed to allow loading same-origin resources even if they
13381        appear as part of the request.
13382
13383        Also, we're supposed to look at the POST data too.  :)
13384
13385        * html/parser/XSSFilter.cpp:
13386        (WebCore::XSSFilter::eraseAttributeIfInjected):
13387        (WebCore::XSSFilter::isSameOriginResource):
13388            - Copy/paste from XSSAuditor::isSameOriginResource.  We'll
13389              eventually remove the XSSAuditor version when XSSFilter is done.
13390        * html/parser/XSSFilter.h:
13391
133922011-01-29  Adam Barth  <abarth@webkit.org>
13393
13394        Reviewed by Daniel Bates.
13395
13396        XSSFilter should pass 16 of the xssAuditor/script-tag* tests
13397        https://bugs.webkit.org/show_bug.cgi?id=53362
13398
13399        Turns out we need to replace the src attribute of script tags with
13400        about:blank to avoid loading the main document URL as a script.  Also,
13401        move misplaced return statement that was triggering the console message
13402        too often.
13403
13404        * html/parser/HTMLToken.h:
13405        (WebCore::HTMLToken::appendToAttributeValue):
13406        * html/parser/XSSFilter.cpp:
13407        (WebCore::XSSFilter::filterScriptToken):
13408        (WebCore::XSSFilter::eraseAttributeIfInjected):
13409        * html/parser/XSSFilter.h:
13410
134112011-01-28  Jon Honeycutt  <jhoneycutt@apple.com>
13412
13413        Downloads in WK2 on Windows should write resume data to bundle
13414        https://bugs.webkit.org/show_bug.cgi?id=53282
13415        <rdar://problem/8753077>
13416
13417        Reviewed by Alice Liu.
13418
13419        * WebCore.vcproj/WebCore.vcproj:
13420        Added new files to project.
13421
13422        * platform/network/cf/DownloadBundle.h: Added.
13423        * platform/network/win/DownloadBundleWin.cpp: Added.
13424        (WebCore::DownloadBundle::magicNumber):
13425        Moved from WebKit's WebDownload so that WebKit and WebKit2 can share
13426        it.
13427        (WebCore::DownloadBundle::fileExtension):
13428        Ditto.
13429        (WebCore::DownloadBundle::appendResumeData):
13430        Ditto - but modified to return bool rather than HRESULT and to clean up
13431        whitespace.
13432        (WebCore::DownloadBundle::extractResumeData):
13433        Ditto - modified to clean up whitespace.
13434
134352011-01-29  Sheriff Bot  <webkit.review.bot@gmail.com>
13436
13437        Unreviewed, rolling out r77050.
13438        http://trac.webkit.org/changeset/77050
13439        https://bugs.webkit.org/show_bug.cgi?id=53371
13440
13441        Caused a crash in Chromium's test_shell_tests (Requested by
13442        rniwa on #webkit).
13443
13444        * html/parser/HTMLTreeBuilder.cpp:
13445        (WebCore::HTMLTreeBuilder::FragmentParsingContext::FragmentParsingContext):
13446        (WebCore::HTMLTreeBuilder::FragmentParsingContext::document):
13447        (WebCore::HTMLTreeBuilder::FragmentParsingContext::finished):
13448        * html/parser/HTMLTreeBuilder.h:
13449
134502011-01-28  Eric Seidel  <eric@webkit.org>
13451
13452        Reviewed by Darin Adler.
13453
13454        HTML5 TreeBuilder regressed a Peacekeeper DOM test by 40%
13455        https://bugs.webkit.org/show_bug.cgi?id=48719
13456
13457        It's unclear exactly what the Peacekeeper benchmark is testing,
13458        because I haven't found a way to run it myself.
13459
13460        However, I constructed a benchmark which shows at least one possible slow point.
13461        The HTML5 spec talks about creating a new document for every time we use
13462        the fragment parsing algorithm.  Document() it turns out, it a huge bloated
13463        mess, and the constructor and destructor do a huge amount of work.
13464        To avoid constructing (or destructing) documents for each innerHTML call,
13465        this patch adds a shared dummy document used by all innerHTML calls.
13466
13467        This patch brings us from 7x slower than Safari 5 on tiny-innerHTML
13468        to only 1.5x slower than Safari 5.  I'm sure there is more work to do here.
13469
13470        Saving a shared Document like this is error prone.  Currently
13471        DummyDocumentFactory::releaseDocument() calls removeAllChildren()
13472        in an attempt to clear the Document's state. However it's possible
13473        that that call is not sufficient and we'll have future bugs here.
13474
13475        * html/parser/HTMLTreeBuilder.cpp:
13476        (WebCore::DummyDocumentFactory::createDummyDocument):
13477        (WebCore::DummyDocumentFactory::releaseDocument):
13478        (WebCore::HTMLTreeBuilder::FragmentParsingContext::FragmentParsingContext):
13479        (WebCore::HTMLTreeBuilder::FragmentParsingContext::document):
13480        (WebCore::HTMLTreeBuilder::FragmentParsingContext::finished):
13481        * html/parser/HTMLTreeBuilder.h:
13482
134832011-01-28  Johnny Ding  <jnd@chromium.org>
13484
13485        Reviewed by Adam Barth.
13486
13487        Gesture API: Don't use current gesture status to set "forceUserGesture" parameter when calling ScriptController::executeScript.
13488        The "forceUserGesture" parameter should be only set when you are definitely sure that the running script is from a hyper-link.
13489        https://bugs.webkit.org/show_bug.cgi?id=53244
13490
13491        Test: fast/events/popup-blocked-from-iframe-src.html
13492
13493        * bindings/ScriptControllerBase.cpp:
13494        (WebCore::ScriptController::executeIfJavaScriptURL):
13495
134962011-01-28  Simon Fraser  <simon.fraser@apple.com>
13497
13498        Reviewed by Gavin Barraclough.
13499
13500        Add various clampToInt() methods to MathExtras.h
13501        https://bugs.webkit.org/show_bug.cgi?id=52910
13502
13503        Use clampToInteger() from MathExtras.h
13504
13505        * css/CSSParser.cpp:
13506        (WebCore::CSSParser::parseCounter):
13507
135082011-01-28  Sheriff Bot  <webkit.review.bot@gmail.com>
13509
13510        Unreviewed, rolling out r77006 and r77020.
13511        http://trac.webkit.org/changeset/77006
13512        http://trac.webkit.org/changeset/77020
13513        https://bugs.webkit.org/show_bug.cgi?id=53360
13514
13515        "Broke Windows tests" (Requested by rniwa on #webkit).
13516
13517        * ForwardingHeaders/runtime/WriteBarrier.h: Removed.
13518        * WebCore.exp.in:
13519        * bindings/js/DOMWrapperWorld.h:
13520        * bindings/js/JSAudioConstructor.cpp:
13521        (WebCore::JSAudioConstructor::JSAudioConstructor):
13522        * bindings/js/JSDOMBinding.cpp:
13523        (WebCore::markDOMNodesForDocument):
13524        (WebCore::markDOMObjectWrapper):
13525        (WebCore::markDOMNodeWrapper):
13526        * bindings/js/JSDOMGlobalObject.cpp:
13527        (WebCore::JSDOMGlobalObject::markChildren):
13528        (WebCore::JSDOMGlobalObject::setInjectedScript):
13529        (WebCore::JSDOMGlobalObject::injectedScript):
13530        * bindings/js/JSDOMGlobalObject.h:
13531        (WebCore::JSDOMGlobalObject::JSDOMGlobalObjectData::JSDOMGlobalObjectData):
13532        (WebCore::getDOMConstructor):
13533        * bindings/js/JSDOMWindowCustom.cpp:
13534        (WebCore::JSDOMWindow::setLocation):
13535        (WebCore::DialogHandler::dialogCreated):
13536        * bindings/js/JSDOMWindowShell.cpp:
13537        (WebCore::JSDOMWindowShell::JSDOMWindowShell):
13538        (WebCore::JSDOMWindowShell::setWindow):
13539        (WebCore::JSDOMWindowShell::markChildren):
13540        (WebCore::JSDOMWindowShell::unwrappedObject):
13541        * bindings/js/JSDOMWindowShell.h:
13542        (WebCore::JSDOMWindowShell::window):
13543        (WebCore::JSDOMWindowShell::setWindow):
13544        * bindings/js/JSDeviceMotionEventCustom.cpp:
13545        (WebCore::createAccelerationObject):
13546        (WebCore::createRotationRateObject):
13547        * bindings/js/JSEventListener.cpp:
13548        (WebCore::JSEventListener::JSEventListener):
13549        (WebCore::JSEventListener::markJSFunction):
13550        * bindings/js/JSEventListener.h:
13551        (WebCore::JSEventListener::jsFunction):
13552        * bindings/js/JSHTMLDocumentCustom.cpp:
13553        (WebCore::JSHTMLDocument::setAll):
13554        * bindings/js/JSImageConstructor.cpp:
13555        (WebCore::JSImageConstructor::JSImageConstructor):
13556        * bindings/js/JSImageDataCustom.cpp:
13557        (WebCore::toJS):
13558        * bindings/js/JSJavaScriptCallFrameCustom.cpp:
13559        (WebCore::JSJavaScriptCallFrame::scopeChain):
13560        (WebCore::JSJavaScriptCallFrame::scopeType):
13561        * bindings/js/JSNodeFilterCondition.cpp:
13562        (WebCore::JSNodeFilterCondition::markAggregate):
13563        (WebCore::JSNodeFilterCondition::acceptNode):
13564        * bindings/js/JSNodeFilterCondition.h:
13565        * bindings/js/JSNodeFilterCustom.cpp:
13566        * bindings/js/JSOptionConstructor.cpp:
13567        (WebCore::JSOptionConstructor::JSOptionConstructor):
13568        * bindings/js/JSSQLResultSetRowListCustom.cpp:
13569        (WebCore::JSSQLResultSetRowList::item):
13570        * bindings/js/ScriptCachedFrameData.cpp:
13571        (WebCore::ScriptCachedFrameData::restore):
13572        * bindings/js/ScriptObject.cpp:
13573        (WebCore::ScriptGlobalObject::set):
13574        * bindings/js/SerializedScriptValue.cpp:
13575        (WebCore::CloneDeserializer::putProperty):
13576        * bindings/scripts/CodeGeneratorJS.pm:
13577        * bridge/qt/qt_runtime.cpp:
13578        (JSC::Bindings::QtRuntimeMetaMethod::QtRuntimeMetaMethod):
13579        (JSC::Bindings::QtRuntimeMetaMethod::markChildren):
13580        (JSC::Bindings::QtRuntimeMetaMethod::connectGetter):
13581        (JSC::Bindings::QtRuntimeMetaMethod::disconnectGetter):
13582        * bridge/qt/qt_runtime.h:
13583        * bridge/runtime_root.cpp:
13584        (JSC::Bindings::RootObject::invalidate):
13585        * bridge/runtime_root.h:
13586        * dom/Document.h:
13587
135882011-01-28  Adam Barth  <abarth@webkit.org>
13589
13590        Reviewed by Eric Seidel.
13591
13592        XSSFilter should log to the console when it blocks something
13593        https://bugs.webkit.org/show_bug.cgi?id=53354
13594
13595        This patch refactors a bunch of methods in XSSFilter to return a bool
13596        indicating whether they blocked anything.  Using this bool, we decide
13597        whether to log to the console.  We're using the same log message as the
13598        XSSAuditor, but it seems likely we can improve this message in the
13599        future (especially by piping in the correct line number, which is now
13600        accessible via the parser).
13601
13602        * html/parser/XSSFilter.cpp:
13603        (WebCore::HTMLNames::isNameOfInlineEventHandler):
13604        (WebCore::XSSFilter::filterToken):
13605        (WebCore::XSSFilter::filterTokenInitial):
13606        (WebCore::XSSFilter::filterTokenAfterScriptStartTag):
13607        (WebCore::XSSFilter::filterScriptToken):
13608        (WebCore::XSSFilter::filterObjectToken):
13609        (WebCore::XSSFilter::filterEmbedToken):
13610        (WebCore::XSSFilter::filterAppletToken):
13611        (WebCore::XSSFilter::filterMetaToken):
13612        (WebCore::XSSFilter::filterBaseToken):
13613        (WebCore::XSSFilter::eraseInlineEventHandlersIfInjected):
13614        * html/parser/XSSFilter.h:
13615
136162011-01-28  Adam Barth  <abarth@webkit.org>
13617
13618        Reviewed by Daniel Bates.
13619
13620        Wire up settings->xssAuditorEnabled to XSSFilter
13621        https://bugs.webkit.org/show_bug.cgi?id=53345
13622
13623        * html/parser/XSSFilter.cpp:
13624        (WebCore::XSSFilter::XSSFilter):
13625        (WebCore::XSSFilter::filterToken):
13626        * html/parser/XSSFilter.h:
13627
136282011-01-28  Adam Barth  <abarth@webkit.org>
13629
13630        Reviewed by Daniel Bates.
13631
13632        Teach XSSFilter about <meta> and <base> tags
13633        https://bugs.webkit.org/show_bug.cgi?id=53339
13634
13635        I'm not 100% sure we need to block <meta http-equiv>, but it seems
13636        prudent given how powerful that attribute is.  We definitely need to
13637        block injection of <base href> because that can redirect script tags
13638        that use relative URLs.
13639
13640        * html/parser/XSSFilter.cpp:
13641        (WebCore::XSSFilter::filterToken):
13642        (WebCore::XSSFilter::filterMetaToken):
13643        (WebCore::XSSFilter::filterBaseToken):
13644        * html/parser/XSSFilter.h:
13645
136462011-01-28  Adam Barth  <abarth@webkit.org>
13647
13648        Reviewed by Daniel Bates.
13649
13650        Teach XSSFilter about <applet>
13651        https://bugs.webkit.org/show_bug.cgi?id=53338
13652
13653        HTML5 is pretty light on information about how the <applet> tag works.
13654        According to this site:
13655
13656        http://download.oracle.com/javase/1.4.2/docs/guide/misc/applet.html
13657
13658        The "code" and "object" attributes are the essential attributes for
13659        determining which piece of Java to run.  We might need to expand to the
13660        codebase and archive attributes at some point, but hopefully code and
13661        object will be sufficient.
13662
13663        * html/parser/XSSFilter.cpp:
13664        (WebCore::XSSFilter::filterToken):
13665        (WebCore::XSSFilter::filterAppletToken):
13666        * html/parser/XSSFilter.h:
13667
136682011-01-28  Adam Barth  <abarth@webkit.org>
13669
13670        Reviewed by Daniel Bates.
13671
13672        Teach the XSSFilter about object and embed tags
13673        https://bugs.webkit.org/show_bug.cgi?id=53336
13674
13675        For <object> and <embed>, we filter out attribute values that either
13676        indicate which piece of media to load or which plugin to load.  In a
13677        perfect world, we'd only need to filter out the URLs of the media, but
13678        some plug-ins (like Flash) have lots of fun places you can hide the
13679        URL (e.g., the "movie" <param>).
13680
13681        * html/parser/XSSFilter.cpp:
13682        (WebCore::XSSFilter::filterToken):
13683        (WebCore::XSSFilter::filterScriptToken):
13684        (WebCore::XSSFilter::filterObjectToken):
13685        (WebCore::XSSFilter::filterEmbedToken):
13686        (WebCore::XSSFilter::eraseAttributeIfInjected):
13687        * html/parser/XSSFilter.h:
13688
136892011-01-28  Oliver Hunt  <oliver@apple.com>
13690
13691        Fix Qt build.
13692
13693        * bridge/qt/qt_runtime.cpp:
13694        (JSC::Bindings::QtRuntimeMetaMethod::QtRuntimeMetaMethod):
13695        (JSC::Bindings::QtRuntimeMetaMethod::markChildren):
13696        (JSC::Bindings::QtRuntimeMetaMethod::connectGetter):
13697        (JSC::Bindings::QtRuntimeMetaMethod::disconnectGetter):
13698        * bridge/qt/qt_runtime.h:
13699
137002011-01-28  Antti Koivisto  <antti@apple.com>
13701
13702        Reviewed by Simon Fraser.
13703
13704        CSS styles are shared based on uninitialized property values
13705        https://bugs.webkit.org/show_bug.cgi?id=53285
13706        
13707        Null test.
13708
13709        * dom/NamedNodeMap.cpp:
13710        (WebCore::NamedNodeMap::mappedMapsEquivalent):
13711
137122011-01-27  Oliver Hunt  <oliver@apple.com>
13713
13714        Reviewed by Geoffrey Garen.
13715
13716        Convert markstack to a slot visitor API
13717        https://bugs.webkit.org/show_bug.cgi?id=53219
13718
13719        Update WebCore to the new marking apis, correct bindings
13720        codegen. 
13721
13722        * ForwardingHeaders/runtime/WriteBarrier.h: Added.
13723        * WebCore.exp.in:
13724        * bindings/js/DOMWrapperWorld.h:
13725        (WebCore::DOMWrapperWorld::globalData):
13726        * bindings/js/JSAudioConstructor.cpp:
13727        (WebCore::JSAudioConstructor::JSAudioConstructor):
13728        * bindings/js/JSDOMBinding.cpp:
13729        (WebCore::markDOMNodesForDocument):
13730        (WebCore::markDOMObjectWrapper):
13731        (WebCore::markDOMNodeWrapper):
13732        * bindings/js/JSDOMGlobalObject.cpp:
13733        (WebCore::JSDOMGlobalObject::markChildren):
13734        (WebCore::JSDOMGlobalObject::setInjectedScript):
13735        (WebCore::JSDOMGlobalObject::injectedScript):
13736        * bindings/js/JSDOMGlobalObject.h:
13737        (WebCore::JSDOMGlobalObject::JSDOMGlobalObjectData::JSDOMGlobalObjectData):
13738        (WebCore::getDOMConstructor):
13739        * bindings/js/JSDOMWindowCustom.cpp:
13740        (WebCore::JSDOMWindow::setLocation):
13741        (WebCore::DialogHandler::dialogCreated):
13742        * bindings/js/JSDOMWindowShell.cpp:
13743        (WebCore::JSDOMWindowShell::JSDOMWindowShell):
13744        (WebCore::JSDOMWindowShell::setWindow):
13745        (WebCore::JSDOMWindowShell::markChildren):
13746        (WebCore::JSDOMWindowShell::unwrappedObject):
13747        * bindings/js/JSDOMWindowShell.h:
13748        (WebCore::JSDOMWindowShell::window):
13749        (WebCore::JSDOMWindowShell::setWindow):
13750        * bindings/js/JSEventListener.cpp:
13751        (WebCore::JSEventListener::JSEventListener):
13752        (WebCore::JSEventListener::markJSFunction):
13753        * bindings/js/JSEventListener.h:
13754        (WebCore::JSEventListener::jsFunction):
13755        * bindings/js/JSHTMLDocumentCustom.cpp:
13756        (WebCore::JSHTMLDocument::setAll):
13757        * bindings/js/JSImageConstructor.cpp:
13758        (WebCore::JSImageConstructor::JSImageConstructor):
13759        * bindings/js/JSImageDataCustom.cpp:
13760        (WebCore::toJS):
13761        * bindings/js/JSJavaScriptCallFrameCustom.cpp:
13762        (WebCore::JSJavaScriptCallFrame::scopeChain):
13763        (WebCore::JSJavaScriptCallFrame::scopeType):
13764        * bindings/js/JSNodeFilterCondition.cpp:
13765        (WebCore::JSNodeFilterCondition::markAggregate):
13766        (WebCore::JSNodeFilterCondition::acceptNode):
13767        * bindings/js/JSNodeFilterCondition.h:
13768        * bindings/js/JSNodeFilterCustom.cpp:
13769        * bindings/js/JSOptionConstructor.cpp:
13770        (WebCore::JSOptionConstructor::JSOptionConstructor):
13771        * bindings/js/JSSQLResultSetRowListCustom.cpp:
13772        (WebCore::JSSQLResultSetRowList::item):
13773        * bindings/js/ScriptCachedFrameData.cpp:
13774        (WebCore::ScriptCachedFrameData::restore):
13775        * bindings/js/ScriptObject.cpp:
13776        (WebCore::ScriptGlobalObject::set):
13777        * bindings/js/SerializedScriptValue.cpp:
13778        (WebCore::CloneDeserializer::putProperty):
13779        * bindings/scripts/CodeGeneratorJS.pm:
13780        * dom/Document.h:
13781
137822011-01-28  Sam Weinig  <sam@webkit.org>
13783
13784        Reviewed by Anders Carlsson.
13785
13786        Keyboard scrolling doesn’t work in WebKit2
13787        <rdar://problem/8909672>
13788
13789        * platform/mac/ScrollAnimatorMac.mm:
13790        (-[ScrollAnimationHelperDelegate convertSizeToBacking:]):
13791        (-[ScrollAnimationHelperDelegate convertSizeFromBacking:]):
13792        Add additional necessary delegate methods.
13793
137942011-01-29  Darin Adler  <darin@apple.com>
13795
13796        Reviewed by Dan Bernstein.
13797
13798        Re-land this patch with the missing null check that caused crashes in layout tests.
13799
13800        Changing cursor style has no effect until the mouse moves
13801        https://bugs.webkit.org/show_bug.cgi?id=14344
13802        rdar://problem/7563712
13803
13804        No tests added because we don't have infrastructure for testing actual cursor
13805        changes (as opposed to cursor style computation) at this time. We might add it later.
13806
13807        * page/EventHandler.cpp:
13808        (WebCore::EventHandler::dispatchFakeMouseMoveEventSoon): Added.
13809        * page/EventHandler.h: Ditto.
13810
13811        * rendering/RenderObject.cpp:
13812        (WebCore::areNonIdenticalCursorListsEqual): Added.
13813        (WebCore::areCursorsEqual): Added.
13814        (WebCore::RenderObject::styleDidChange): Call dispatchFakeMouseMoveEventSoon if
13815        cursor styles changed.
13816
138172011-01-28  Justin Schuh  <jschuh@chromium.org>
13818
13819        Reviewed by Eric Seidel.
13820
13821        We should hold RefPtrs to SVG font faces
13822        https://bugs.webkit.org/show_bug.cgi?id=53270
13823
13824        Test: svg/custom/use-multiple-on-nested-disallowed-font.html
13825
13826        * css/CSSFontFaceSource.cpp:
13827        (WebCore::CSSFontFaceSource::getFontData):
13828        * css/CSSFontFaceSource.h:
13829        * svg/SVGFontFaceElement.cpp:
13830        (WebCore::SVGFontFaceElement::associatedFontElement):
13831        * svg/SVGFontFaceElement.h:
13832
138332011-01-28  Zhenyao Mo  <zmo@google.com>
13834
13835        Reviewed by Kenneth Russell.
13836
13837        uniformN*v should generate INVALID_VALUE of the array size is not a multiple of N
13838        https://bugs.webkit.org/show_bug.cgi?id=53306
13839
13840        * html/canvas/WebGLRenderingContext.cpp:
13841        (WebCore::WebGLRenderingContext::validateUniformMatrixParameters):
13842
138432011-01-28  Tom Sepez  <tsepez@chromium.org>
13844
13845        Reviewed by Eric Seidel.
13846
13847        NULL pointer crash in TextIterator::handleTextBox()
13848        https://bugs.webkit.org/show_bug.cgi?id=53267
13849
13850        Test: fast/css/rtl-nth-child-first-letter-crash.html
13851
13852        * editing/TextIterator.cpp:
13853        (WebCore::TextIterator::handleTextBox):
13854
138552011-01-28  Adrienne Walker  <enne@google.com>
13856
13857        Reviewed by Kenneth Russell.
13858
13859        [chromium] Remove a spurious diagnostic CRASH check.
13860        https://bugs.webkit.org/show_bug.cgi?id=52379
13861
13862        * platform/graphics/chromium/LayerTilerChromium.cpp:
13863        (WebCore::LayerTilerChromium::invalidateRect):
13864
138652011-01-28  Dan Bernstein  <mitz@apple.com>
13866
13867        Reviewed by Sam Weinig.
13868
13869        <rdar://problem/4761512> <select> can't display right-to-left (rtl) languages
13870        https://bugs.webkit.org/show_bug.cgi?id=19785
13871
13872        Changed <select> pop-up menus on Mac OS X Snow Leopard and later to have their items aligned in the
13873        direction corresponding to the writing direction of the <select> element, with the checkmarks
13874        on the "start" side, and use the <option>'s writing direction rather than "natural". Made the
13875        pop-up button match the menu by adding a Chrome boolean function, selectItemAlignmentFollowsMenuWritingDirection(),
13876        which returns true for this pop-up behavior.
13877
13878        * loader/EmptyClients.h:
13879        (WebCore::EmptyChromeClient::selectItemAlignmentFollowsMenuWritingDirection): Added.
13880        * manual-tests/pop-up-alignment-and-direction.html: Added.
13881        * page/Chrome.cpp:
13882        (WebCore::Chrome::selectItemAlignmentFollowsMenuWritingDirection): Added. Calls through to the
13883        client.
13884        * page/Chrome.h:
13885        * page/ChromeClient.h:
13886        * platform/PopupMenuStyle.h:
13887        (WebCore::PopupMenuStyle::PopupMenuStyle): Added hasTextDirectionOverride parameter and member
13888        variable initialization.
13889        (WebCore::PopupMenuStyle::hasTextDirectionOverride): Added this accessor.
13890        * platform/mac/PopupMenuMac.mm:
13891        (WebCore::PopupMenuMac::populate): Set the pop-up's layout direction and items' text alignment
13892        to match the menu's writing direction. Set items' writing direction and direction override
13893        according to their styles.
13894        * rendering/RenderMenuList.cpp:
13895        (WebCore::RenderMenuList::RenderMenuList): Removed unncesaary initialization of a smart pointer.
13896        (WebCore::RenderMenuList::adjustInnerStyle): If the alignment of items in the menu follows the
13897        menu's writing direction, use that alignment for the button as well. Also in this mode, use the
13898        item's writing direction and override setting.
13899        (WebCore::RenderMenuList::setTextFromOption): Store the option element's style.
13900        (WebCore::RenderMenuList::itemStyle): Pass the text direction override value.
13901        (WebCore::RenderMenuList::menuStyle): Ditto. Also use the button's direction, not the inner text's.
13902        * rendering/RenderMenuList.h:
13903        * rendering/RenderTextControlSingleLine.cpp:
13904        (WebCore::RenderTextControlSingleLine::menuStyle): Pass the text direction override value.
13905
139062011-01-28  Adam Barth  <abarth@webkit.org>
13907
13908        Reviewed by Daniel Bates.
13909
13910        Teach XSSFilter how to filter <script> elements
13911        https://bugs.webkit.org/show_bug.cgi?id=53279
13912
13913        This patch adds the ability for the XSSFilter to block injected
13914        <script> elements.  Handling script elements is slightly subtle because
13915        these elements act very differently depending on whether they have a
13916        src attribute.
13917        
13918        In the "src case", which check whether the src attribute was present in
13919        the request.  In the "non-src case", we check whether the start tag and
13920        the body of the script element was included in the request.  Checking
13921        for the whole start tag means we miss out on some attribute splitting
13922        attacks inside of script tags, but that doesn't seem like that big a
13923        deal.
13924
13925        This patch also introduces some amount of state into the XSSFilter
13926        because inline script elements span multiple tokens.  There's a lot of
13927        tuning and optimization left in these cases, some of which I've noted
13928        with FIXMEs.
13929
13930        To test this patch, I played around with some of the existing
13931        XSSAuditor tests.  Hopefully I'll be able to run the test suite more
13932        systematically in the future.
13933
13934        * html/parser/HTMLToken.h:
13935        (WebCore::HTMLToken::eraseCharacters):
13936        (WebCore::HTMLToken::eraseValueOfAttribute):
13937        * html/parser/XSSFilter.cpp:
13938        (WebCore::HTMLNames::hasName):
13939        (WebCore::HTMLNames::findAttributeWithName):
13940        (WebCore::HTMLNames::isNameOfScriptCarryingAttribute):
13941        (WebCore::XSSFilter::XSSFilter):
13942        (WebCore::XSSFilter::filterToken):
13943        (WebCore::XSSFilter::filterTokenAfterScriptStartTag):
13944        (WebCore::XSSFilter::filterScriptToken):
13945        (WebCore::XSSFilter::snippetForRange):
13946        (WebCore::XSSFilter::snippetForAttribute):
13947        * html/parser/XSSFilter.h:
13948
139492011-01-28  Adam Barth  <abarth@webkit.org>
13950
13951        Reviewed by Daniel Bates.
13952
13953        Sketch out new XSS filter design (disabled by default)
13954        https://bugs.webkit.org/show_bug.cgi?id=53205
13955
13956        This patch adds a basic sketch of the new XSS filter design.  Rather
13957        than watching scripts as they execute, in this design, we watch tokens
13958        emitted by the tokenizer.  We then map the tokens directly back into
13959        input characters, which lets us skip all the complicated logic related
13960        to HTML entities and double-decoding of JavaScript URLs.
13961
13962        This patch contains only the bare essentially machinery.  I'll add more
13963        in future patches and eventually remove the previous code once this
13964        code is up and running correctly.
13965
13966        * Android.mk:
13967        * CMakeLists.txt:
13968        * GNUmakefile.am:
13969        * WebCore.gypi:
13970        * WebCore.pro:
13971        * WebCore.vcproj/WebCore.vcproj:
13972        * WebCore.xcodeproj/project.pbxproj:
13973        * html/parser/HTMLDocumentParser.cpp:
13974        (WebCore::HTMLDocumentParser::HTMLDocumentParser):
13975        (WebCore::HTMLDocumentParser::pumpTokenizer):
13976        (WebCore::HTMLDocumentParser::sourceForToken):
13977        * html/parser/HTMLDocumentParser.h:
13978        * html/parser/XSSFilter.cpp: Added.
13979        * html/parser/XSSFilter.h: Added.
13980
139812011-01-28  Michael Saboff  <msaboff@apple.com>
13982
13983        Reviewed by Geoffrey Garen.
13984
13985        Potentially Unsafe HashSet of RuntimeObject* in RootObject definition
13986        https://bugs.webkit.org/show_bug.cgi?id=53271
13987
13988        Reapplying this patch with the change that the second ASSERT in 
13989        RootObject::removeRuntimeObject was changed to use
13990        .uncheckedGet() instead of the failing .get().  The object in question
13991        could be in the process of being GC'ed.  The get() call will not return
13992        such an object while the uncheckedGet() call will return the (unsafe) 
13993        object.  This is the behavior we want.
13994
13995        Precautionary change.
13996        Changed RootObject to use WeakGCMap instead of HashSet.
13997        Found will looking for another issue, but can't produce a test case
13998        that is problematic.  THerefore there aren't any new tests.
13999
14000        * bridge/runtime_root.cpp:
14001        (JSC::Bindings::RootObject::invalidate):
14002        (JSC::Bindings::RootObject::addRuntimeObject):
14003        (JSC::Bindings::RootObject::removeRuntimeObject):
14004        * bridge/runtime_root.h:
14005
140062011-01-28  Adam Roben  <aroben@apple.com>
14007
14008        Notify CACFLayerTreeHost when the context is flushed
14009
14010        LegacyCACFLayerTreeHost was keeping this a secret, which meant that WebCore's animation
14011        timers were never starting.
14012
14013        Fixes <http://webkit.org/b/53302> [Windows 7 Release Tests] changesets 76853, 76856, and
14014        76858 broke ~36 animations, compositing, and transitions tests
14015
14016        Reviewed by Sam Weinig.
14017
14018        * platform/graphics/ca/win/LegacyCACFLayerTreeHost.cpp:
14019        (WebCore::LegacyCACFLayerTreeHost::contextDidChange): Call up to the base class after we
14020        start our render timer.
14021
140222011-01-28  Antti Koivisto  <antti@apple.com>
14023
14024        Reviewed by Dan Bernstein.
14025
14026        Remove dead code that tried to map from CSS values to parser values
14027        https://bugs.webkit.org/show_bug.cgi?id=53318
14028
14029        * css/CSSFunctionValue.cpp:
14030        * css/CSSFunctionValue.h:
14031        * css/CSSPrimitiveValue.cpp:
14032        * css/CSSPrimitiveValue.h:
14033        * css/CSSValue.h:
14034        * css/CSSValueList.cpp:
14035        * css/CSSValueList.h:
14036
140372011-01-28  Enrica Casucci  <enrica@apple.com>
14038
14039        Reviewed by Adam Roben.
14040
14041        Some drag and drop tests fail since r76824
14042        https://bugs.webkit.org/show_bug.cgi?id=53304
14043
14044        There were '||' instead of '&&' in the checks for valid
14045        clipboard content.
14046        
14047        * platform/win/ClipboardWin.cpp:
14048        (WebCore::ClipboardWin::getData):
14049        (WebCore::ClipboardWin::types):
14050        (WebCore::ClipboardWin::files):
14051
140522011-01-28  Martin Robinson  <mrobinson@igalia.com>
14053
14054        [GTK] AudioProcessingEvent.h and JSJavaScriptAudioNode.h: No such file or directory
14055        https://bugs.webkit.org/show_bug.cgi?id=52889
14056
14057        Build fix for WebAudio. Include WebAudio source files on the source
14058        list when WebAudio is enabled.
14059
14060        * GNUmakefile.am: Include missing source files.
14061
140622011-01-28  Sam Weinig  <sam@webkit.org>
14063
14064        Reviewed by Maciej Stachowiak.
14065
14066        Add basic rubber banding support
14067        <rdar://problem/8219429>
14068        https://bugs.webkit.org/show_bug.cgi?id=53277
14069
14070        * page/EventHandler.cpp:
14071        (WebCore::EventHandler::handleGestureEvent):
14072        Pass gesture events to the FrameView.
14073
14074        * platform/ScrollAnimator.cpp:
14075        (WebCore::ScrollAnimator::handleGestureEvent):
14076        * platform/ScrollAnimator.h:
14077        Add stubbed out implementation.
14078
14079        * platform/ScrollView.cpp:
14080        (WebCore::ScrollView::ScrollView):
14081        (WebCore::ScrollView::overhangAmount):
14082        (WebCore::ScrollView::wheelEvent):
14083        * platform/ScrollView.h:
14084        * platform/ScrollableArea.cpp:
14085        (WebCore::ScrollableArea::ScrollableArea):
14086        (WebCore::ScrollableArea::handleGestureEvent):
14087        * platform/ScrollableArea.h:
14088        (WebCore::ScrollableArea::constrainsScrollingToContentEdge):
14089        (WebCore::ScrollableArea::setConstrainsScrollingToContentEdge):
14090        Move constrains scrolling bit to ScrollableArea from ScrollView.
14091
14092        (WebCore::ScrollableArea::contentsSize):
14093        (WebCore::ScrollableArea::overhangAmount):
14094        Add additional virtual functions for information needed by the animator.
14095
14096        * platform/mac/ScrollAnimatorMac.h:
14097        * platform/mac/ScrollAnimatorMac.mm:
14098        (WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
14099        (WebCore::ScrollAnimatorMac::immediateScrollByDeltaX):
14100        (WebCore::ScrollAnimatorMac::immediateScrollByDeltaY):
14101        (WebCore::elasticDeltaForTimeDelta):
14102        (WebCore::elasticDeltaForReboundDelta):
14103        (WebCore::reboundDeltaForElasticDelta):
14104        (WebCore::scrollWheelMultiplier):
14105        (WebCore::ScrollAnimatorMac::handleWheelEvent):
14106        (WebCore::ScrollAnimatorMac::handleGestureEvent):
14107        (WebCore::ScrollAnimatorMac::pinnedInDirection):
14108        (WebCore::ScrollAnimatorMac::allowsVerticalStretching):
14109        (WebCore::ScrollAnimatorMac::allowsHorizontalStretching):
14110        (WebCore::ScrollAnimatorMac::smoothScrollWithEvent):
14111        (WebCore::ScrollAnimatorMac::beginScrollGesture):
14112        (WebCore::ScrollAnimatorMac::endScrollGesture):
14113        (WebCore::ScrollAnimatorMac::snapRubberBand):
14114        (WebCore::roundTowardZero):
14115        (WebCore::roundToDevicePixelTowardZero):
14116        (WebCore::ScrollAnimatorMac::snapRubberBandTimerFired):
14117        Implement basic rubber banding.
14118
141192011-01-28  Dan Bernstein  <mitz@apple.com>
14120
14121        Reviewed by Anders Carlsson.
14122
14123        Changing unicode-bidi doesn’t force layout
14124        https://bugs.webkit.org/show_bug.cgi?id=53311
14125
14126        Test: fast/dynamic/unicode-bidi.html
14127
14128        * rendering/style/RenderStyle.cpp:
14129        (WebCore::RenderStyle::diff): Return a layout difference if unicode-bidi values differ.
14130
141312011-01-27  Dimitri Glazkov  <dglazkov@chromium.org>
14132
14133        Reviewed by Kent Tamura.
14134
14135        Change HTMLInputElement-derived parts of media element shadow DOM to use shadowPseudoId.
14136        https://bugs.webkit.org/show_bug.cgi?id=53122
14137
14138        This is the first step in converting HTMLMediaElement to the new shadow DOM.
14139
14140        Should not regress any existing tests. No observable change in behavior.
14141
14142        * css/CSSSelector.cpp:
14143        (WebCore::CSSSelector::pseudoId): Removed now-unnecessary hard-coded pseudo-element selectors.
14144        (WebCore::nameToPseudoTypeMap): Ditto.
14145        (WebCore::CSSSelector::extractPseudoType): Ditto.
14146        * css/CSSSelector.h: Ditto.
14147        * css/mediaControls.css: Added proper initial values, now that elements use the proper selector pipeline.
14148        * rendering/MediaControlElements.cpp:
14149        (WebCore::MediaControlInputElement::MediaControlInputElement): Removed the switch statement,
14150            which is now replaced with virtual shadowPseudoId on each corresponding class.
14151        (WebCore::MediaControlInputElement::styleForElement): Changed to use element pipeline.
14152        (WebCore::MediaControlMuteButtonElement::MediaControlMuteButtonElement): Changed to set
14153            display type in constructor.
14154        (WebCore::MediaControlMuteButtonElement::create): Changed to not take PseudoId as
14155            constructor argument.
14156        (WebCore::MediaControlMuteButtonElement::shadowPseudoId): Added.
14157        (WebCore::MediaControlVolumeSliderMuteButtonElement::MediaControlVolumeSliderMuteButtonElement): Added
14158            to disambiguate from the MediaControlMuteButtonElement.
14159        (WebCore::MediaControlVolumeSliderMuteButtonElement::create): Added.
14160        (WebCore::MediaControlVolumeSliderMuteButtonElement::shadowPseudoId): Added.
14161        (WebCore::MediaControlPlayButtonElement::MediaControlPlayButtonElement): Changed to not take PseudoId as
14162            constructor argument.
14163        (WebCore::MediaControlPlayButtonElement::shadowPseudoId): Added.
14164        (WebCore::MediaControlSeekButtonElement::MediaControlSeekButtonElement): Changed to not take PseudoId as
14165            constructor argument.
14166        (WebCore::MediaControlSeekForwardButtonElement::MediaControlSeekForwardButtonElement): Added.
14167        (WebCore::MediaControlSeekForwardButtonElement::create): Added.
14168        (WebCore::MediaControlSeekForwardButtonElement::shadowPseudoId): Added.
14169        (WebCore::MediaControlSeekBackButtonElement::MediaControlSeekBackButtonElement): Added.
14170        (WebCore::MediaControlSeekBackButtonElement::create): Added.
14171        (WebCore::MediaControlSeekBackButtonElement::shadowPseudoId): Added.
14172        (WebCore::MediaControlRewindButtonElement::MediaControlRewindButtonElement): Added.
14173        (WebCore::MediaControlRewindButtonElement::shadowPseudoId): Added.
14174        (WebCore::MediaControlReturnToRealtimeButtonElement::MediaControlReturnToRealtimeButtonElement): Changed to not take PseudoId as
14175            constructor argument.
14176        (WebCore::MediaControlReturnToRealtimeButtonElement::shadowPseudoId): Added.
14177        (WebCore::MediaControlToggleClosedCaptionsButtonElement::MediaControlToggleClosedCaptionsButtonElement): Changed to not take PseudoId as
14178            constructor argument.
14179        (WebCore::MediaControlToggleClosedCaptionsButtonElement::shadowPseudoId): Added.
14180        (WebCore::MediaControlTimelineElement::MediaControlTimelineElement): Changed to not take PseudoId as
14181            constructor argument.
14182        (WebCore::MediaControlTimelineElement::shadowPseudoId): Added.
14183        (WebCore::MediaControlVolumeSliderElement::MediaControlVolumeSliderElement): Changed to not take PseudoId as
14184            constructor argument.
14185        (WebCore::MediaControlVolumeSliderElement::shadowPseudoId): Added.
14186        (WebCore::MediaControlFullscreenButtonElement::MediaControlFullscreenButtonElement): Changed to not take PseudoId as
14187            constructor argument.
14188        (WebCore::MediaControlFullscreenButtonElement::shadowPseudoId): Added.
14189        * rendering/MediaControlElements.h:
14190        (WebCore::MediaControlSeekForwardButtonElement::isForwardButton): Added.
14191        (WebCore::MediaControlSeekBackButtonElement::isForwardButton): Added.
14192        * rendering/RenderMedia.cpp:
14193        (WebCore::RenderMedia::createMuteButton): Changed to use new constructor.
14194        (WebCore::RenderMedia::createSeekBackButton): Ditto.
14195        (WebCore::RenderMedia::createSeekForwardButton): Ditto.
14196        (WebCore::RenderMedia::createVolumeSliderMuteButton): Ditto.
14197        * rendering/style/RenderStyleConstants.h: Removed constants that are no longer used.
14198
141992011-01-27  Dimitri Glazkov  <dglazkov@chromium.org>
14200
14201        Reviewed by Eric Carlson.
14202
14203        Split MediaControls out of RenderMedia.
14204        https://bugs.webkit.org/show_bug.cgi?id=53252
14205
14206        Near-mechanical moving of stuff, no change in behavior, thus no new tests.
14207
14208        * Android.mk: Added MediaControls to build system.
14209        * CMakeLists.txt: Ditto.
14210        * GNUmakefile.am: Ditto.
14211        * WebCore.gypi: Ditto.
14212        * WebCore.pro: Ditto.
14213        * WebCore.vcproj/WebCore.vcproj: Ditto.
14214        * WebCore.xcodeproj/project.pbxproj: Ditto.
14215        * html/HTMLMediaElement.cpp:
14216        (WebCore::HTMLMediaElement::defaultEventHandler): Changed to forward events to MediaControls.
14217        * html/shadow/MediaControls.cpp: Copied all controls-related methods from
14218            Source/WebCore/rendering/RenderMedia.cpp, pulled them into their own class called MediaControls. 
14219        * html/shadow/MediaControls.h: Ditto from Source/WebCore/rendering/RenderMedia.h.
14220        * rendering/MediaControlElements.cpp:
14221        (WebCore::MediaControlTimelineElement::defaultEventHandler): Changed to use MediaControls.
14222        * rendering/RenderMedia.cpp:
14223        (WebCore::RenderMedia::RenderMedia): Moved relevant constructor initializers out to MediaControls.
14224        (WebCore::RenderMedia::destroy): Changed to use MediaControls.
14225        (WebCore::RenderMedia::styleDidChange): Ditto.
14226        (WebCore::RenderMedia::layout): Ditto.
14227        (WebCore::RenderMedia::updateFromElement): Ditto.
14228        * rendering/RenderMedia.h: Updated defs accordingly and removed player() accessor, which
14229            is only used by sub-class RenderVideo.
14230        (WebCore::RenderMedia::controls): Added.
14231        * rendering/RenderVideo.cpp:
14232        (WebCore::RenderVideo::~RenderVideo): Changed to access MediaPlayer* directly from mediaElement().
14233        (WebCore::RenderVideo::calculateIntrinsicSize): Ditto.
14234        (WebCore::RenderVideo::paintReplaced): Ditto.
14235        (WebCore::RenderVideo::updatePlayer): Ditto.
14236        (WebCore::RenderVideo::supportsAcceleratedRendering): Ditto.
14237        (WebCore::RenderVideo::acceleratedRenderingStateChanged): Ditto.
14238
142392011-01-28  Pavel Feldman  <pfeldman@chromium.org>
14240
14241        Reviewed by Yury Semikhatsky.
14242
14243        Web Inspector: allow remote debugging with front-end
14244        served from the cloud.
14245        https://bugs.webkit.org/show_bug.cgi?id=53303
14246
14247        * inspector/front-end/inspector.js:
14248
142492011-01-28  Aparna Nandyal  <aparna.nand@wipro.com>
14250
14251        Reviewed by Andreas Kling.
14252
14253        Setting value of m_PressedPos to make scrolling smooth
14254
14255        Page scroll popup menu "Scroll here" option not working when cliking above scroll slider/handler.
14256        https://bugs.webkit.org/show_bug.cgi?id=51349
14257
14258        The value of m_PressedPos was getting set before moveThumb() call
14259        in all other scenarios except when "Scroll Here" option is used.
14260        Hence scrolling with this option was not as expected even in cases
14261        where scrolling was happening. The thumb would move in unexpected
14262        direction. m_PressedPos is now set to pressed position so delta is
14263        calculated.
14264        Unable to write a test case as the test needs to click on "Scroll
14265        Here" option of context sensitive menu and QTest is unable to do it.
14266        Besides no new functionality introduced.
14267
14268        * platform/qt/ScrollbarQt.cpp:
14269        (WebCore::Scrollbar::contextMenu):
14270
142712011-01-28  Andrey Kosyakov  <caseq@chromium.org>
14272
14273        Reviewed by Pavel Feldman.
14274
14275        Web Inspector: [Extensions API] add JSON schema for extensions API
14276        https://bugs.webkit.org/show_bug.cgi?id=53236
14277
14278        * inspector/front-end/ExtensionAPISchema.json: Added.
14279
142802011-01-27  Zhenyao Mo  <zmo@google.com>
14281
14282        Reviewed by Kenneth Russell.
14283
14284        Remove _LENGTH enumerants
14285        https://bugs.webkit.org/show_bug.cgi?id=53259
14286
14287        * html/canvas/WebGLRenderingContext.cpp: Remove queries for *LENGTH.
14288        (WebCore::WebGLRenderingContext::getProgramParameter):
14289        (WebCore::WebGLRenderingContext::getShaderParameter):
14290        * html/canvas/WebGLRenderingContext.idl: Remove *LENGTH.
14291
142922011-01-28  Alexander Pavlov  <apavlov@chromium.org>
14293
14294        Reviewed by Yury Semikhatsky.
14295
14296        Web Inspector: syntax highlight inline JS and CSS in HTML resources
14297        https://bugs.webkit.org/show_bug.cgi?id=30831
14298
14299        * inspector/front-end/SourceHTMLTokenizer.js:
14300        (WebInspector.SourceHTMLTokenizer):
14301        (WebInspector.SourceHTMLTokenizer.prototype.set line):
14302        (WebInspector.SourceHTMLTokenizer.prototype.nextToken):
14303        * inspector/front-end/SourceHTMLTokenizer.re2js:
14304
143052011-01-28  Alexander Pavlov  <apavlov@chromium.org>
14306
14307        Reviewed by Yury Semikhatsky.
14308
14309        Web Inspector: [STYLES] Up/Down-suggestion breaks an existing keyword
14310        https://bugs.webkit.org/show_bug.cgi?id=53295
14311
14312        Select the current word suffix before switching to the next suggestion.
14313
14314        * inspector/front-end/StylesSidebarPane.js:
14315        ():
14316
143172011-01-28  Alejandro G. Castro  <alex@igalia.com>
14318
14319        Reviewed by Xan Lopez.
14320
14321        [GTK] Fix dist compilation for the release
14322        https://bugs.webkit.org/show_bug.cgi?id=53290
14323
14324        * GNUmakefile.am: Added inspector files to the extra dist.
14325
143262011-01-28  Ilya Sherman  <isherman@chromium.org>
14327
14328        Reviewed by Andreas Kling.
14329
14330        Const-correct HTMLSelectElement and WebSelectElement
14331        https://bugs.webkit.org/show_bug.cgi?id=53293
14332
14333        * html/HTMLSelectElement.cpp:
14334        (WebCore::HTMLSelectElement::value): const.
14335        * html/HTMLSelectElement.h:
14336
143372011-01-28  Sheriff Bot  <webkit.review.bot@gmail.com>
14338
14339        Unreviewed, rolling out r76893.
14340        http://trac.webkit.org/changeset/76893
14341        https://bugs.webkit.org/show_bug.cgi?id=53287
14342
14343        It made some tests crash on GTK and Qt debug bots (Requested
14344        by Ossy on #webkit).
14345
14346        * bridge/runtime_root.cpp:
14347        (JSC::Bindings::RootObject::invalidate):
14348        (JSC::Bindings::RootObject::addRuntimeObject):
14349        (JSC::Bindings::RootObject::removeRuntimeObject):
14350        * bridge/runtime_root.h:
14351
143522011-01-27  Greg Coletta  <greg.coletta@nokia.com>
14353
14354        Reviewed by Laszlo Gombos.
14355
14356        Get rid of prefix header dependency for WebKit2 build system
14357        https://bugs.webkit.org/show_bug.cgi?id=50174
14358
14359        Guard EmptyProtocalDefinitions.h to make sure it's not included twice.
14360
14361        * platform/mac/EmptyProtocolDefinitions.h:
14362
143632011-01-27  Abhishek Arya  <inferno@chromium.org>
14364
14365        Reviewed by Dan Bernstein.
14366
14367        Recalc table sections if needed before calculating the first line
14368        box baseline.
14369        https://bugs.webkit.org/show_bug.cgi?id=53265
14370
14371        When we try to calculate the baseline position of a table cell,
14372        we recurse through all the child sibling boxes (when children are
14373        non inline) and add their first linebox baseline values. If one of
14374        the children is a table with pending section recalc, we will access
14375        wrong table section values. We recalc table sections if it is needed.
14376
14377        Test: fast/table/recalc-section-first-body-crash-main.html
14378
14379        * rendering/RenderTable.cpp:
14380        (WebCore::RenderTable::firstLineBoxBaseline):
14381
143822011-01-27  Adrienne Walker  <enne@google.com>
14383
14384        Reviewed by Kenneth Russell.
14385
14386        [chromium] Add CRASH calls to further debug tiled compositor memcpy crash.
14387        https://bugs.webkit.org/show_bug.cgi?id=52379
14388
14389        Test: LayoutTests/compositing (to verify these weren't triggered)
14390
14391        * platform/graphics/chromium/LayerTilerChromium.cpp:
14392        (WebCore::LayerTilerChromium::invalidateRect):
14393        (WebCore::LayerTilerChromium::update):
14394
143952011-01-27  Alexander Pavlov  <apavlov@chromium.org>
14396
14397        Reviewed by Pavel Feldman.
14398
14399        Web Inspector: [STYLES] Cancelled suggestion of a property name results in a visual artifact
14400        https://bugs.webkit.org/show_bug.cgi?id=53242
14401
14402        * inspector/front-end/StylesSidebarPane.js:
14403        (WebInspector.StylePropertyTreeElement.prototype):
14404
144052011-01-27  Sheriff Bot  <webkit.review.bot@gmail.com>
14406
14407        Unreviewed, rolling out r76891.
14408        http://trac.webkit.org/changeset/76891
14409        https://bugs.webkit.org/show_bug.cgi?id=53280
14410
14411        Makes every layout test crash (Requested by othermaciej on
14412        #webkit).
14413
14414        * page/EventHandler.cpp:
14415        * page/EventHandler.h:
14416        * rendering/RenderObject.cpp:
14417        (WebCore::RenderObject::styleDidChange):
14418
144192011-01-27  Ryosuke Niwa  <rniwa@webkit.org>
14420
14421        Unreviewed, rolling out r76839.
14422        http://trac.webkit.org/changeset/76839
14423        https://bugs.webkit.org/show_bug.cgi?id=49744
14424
14425        broke pixel tests
14426
14427        * rendering/RenderBox.cpp:
14428        (WebCore::RenderBox::localCaretRect):
14429
144302011-01-27  Emil A Eklund  <eae@chromium.org>
14431
14432        Reviewed by Darin Adler.
14433
14434        contentEditable formatBlock crashes on divs with contenteditable="false"
14435        https://bugs.webkit.org/show_bug.cgi?id=53263
14436
14437        Check if editableRootForPosition returns null for position.
14438
14439        Test: editing/execCommand/format-block-contenteditable-false.html
14440
14441        * editing/FormatBlockCommand.cpp:
14442        (WebCore::FormatBlockCommand::formatRange):
14443
144442011-01-27  Dimitri Glazkov  <dglazkov@chromium.org>
14445
14446        Reviewed by Darin Adler.
14447
14448        Remove RenderMedia members that aren't used.
14449        https://bugs.webkit.org/show_bug.cgi?id=53245
14450
14451        Refactoring, no change in behavior, so no new tests.
14452
14453        * rendering/RenderMedia.h: Removed unused member variables.
14454
144552011-01-27  Michael Saboff  <msaboff@apple.com>
14456
14457        Reviewed by Darin Adler.
14458
14459        Potentially Unsafe HashSet of RuntimeObject* in RootObject definition
14460        https://bugs.webkit.org/show_bug.cgi?id=53271
14461
14462        Precautionary change.
14463        Changed RootObject to use WeakGCMap instead of HashSet.
14464        Found will looking for another issue, but can't produce a test case
14465        that is problematic.  THerefore there aren't any new tests.
14466
14467        * bridge/runtime_root.cpp:
14468        (JSC::Bindings::RootObject::invalidate):
14469        (JSC::Bindings::RootObject::addRuntimeObject):
14470        (JSC::Bindings::RootObject::removeRuntimeObject):
14471        * bridge/runtime_root.h:
14472
144732011-01-27  Kenneth Russell  <kbr@google.com>
14474
14475        Reviewed by James Robinson.
14476
14477        Rename Typed Array slice() to subset()
14478        https://bugs.webkit.org/show_bug.cgi?id=53273
14479
14480        * bindings/js/JSArrayBufferViewHelper.h:
14481        (WebCore::constructArrayBufferView):
14482        * bindings/v8/custom/V8ArrayBufferViewCustom.h:
14483        (WebCore::constructWebGLArray):
14484        * html/canvas/Float32Array.cpp:
14485        (WebCore::Float32Array::subset):
14486        * html/canvas/Float32Array.h:
14487        * html/canvas/Float32Array.idl:
14488        * html/canvas/Int16Array.cpp:
14489        (WebCore::Int16Array::subset):
14490        * html/canvas/Int16Array.h:
14491        * html/canvas/Int16Array.idl:
14492        * html/canvas/Int32Array.cpp:
14493        (WebCore::Int32Array::subset):
14494        * html/canvas/Int32Array.h:
14495        * html/canvas/Int32Array.idl:
14496        * html/canvas/Int8Array.cpp:
14497        (WebCore::Int8Array::subset):
14498        * html/canvas/Int8Array.h:
14499        * html/canvas/Int8Array.idl:
14500        * html/canvas/TypedArrayBase.h:
14501        (WebCore::TypedArrayBase::subsetImpl):
14502        * html/canvas/Uint16Array.cpp:
14503        (WebCore::Uint16Array::subset):
14504        * html/canvas/Uint16Array.h:
14505        * html/canvas/Uint16Array.idl:
14506        * html/canvas/Uint32Array.cpp:
14507        (WebCore::Uint32Array::subset):
14508        * html/canvas/Uint32Array.h:
14509        * html/canvas/Uint32Array.idl:
14510        * html/canvas/Uint8Array.cpp:
14511        (WebCore::Uint8Array::subset):
14512        * html/canvas/Uint8Array.h:
14513        * html/canvas/Uint8Array.idl:
14514
145152011-01-27  Darin Adler  <darin@apple.com>
14516
14517        Reviewed by Dan Bernstein.
14518
14519        Changing cursor style has no effect until the mouse moves
14520        https://bugs.webkit.org/show_bug.cgi?id=14344
14521        rdar://problem/7563712
14522
14523        No tests added because we don't have infrastructure for testing actual cursor
14524        changes (as opposed to cursor style computation) at this time. We might add it later.
14525
14526        * page/EventHandler.cpp:
14527        (WebCore::EventHandler::dispatchFakeMouseMoveEventSoon): Added.
14528        * page/EventHandler.h: Ditto.
14529
14530        * rendering/RenderObject.cpp:
14531        (WebCore::areNonIdenticalCursorListsEqual): Added.
14532        (WebCore::areCursorsEqual): Added.
14533        (WebCore::RenderObject::styleDidChange): Call dispatchFakeMouseMoveEventSoon if
14534        cursor styles changed.
14535
145362011-01-27  Leo Yang  <leo.yang@torchmobile.com.cn>
14537
14538        Reviewed by Dirk Schulze.
14539
14540        SVG Use Cycle is not detected
14541        https://bugs.webkit.org/show_bug.cgi?id=52544
14542
14543        We should check if SVGUseElement::buildInstanceTree finds problem
14544        for every child node. If it finds problem for any children we must
14545        return immediately because otherwise the foundProblem variable may
14546        be rewritten to false.
14547
14548        Test: svg/custom/recursive-use2.svg
14549
14550        * svg/SVGUseElement.cpp:
14551        (WebCore::SVGUseElement::buildInstanceTree):
14552
145532011-01-27  Zhenyao Mo  <zmo@google.com>
14554
14555        Reviewed by Kenneth Russell.
14556
14557        texSubImage2D's format/type needs to match the internalformat/type from the previous texImage2D call
14558        https://bugs.webkit.org/show_bug.cgi?id=53054
14559
14560        Test: fast/canvas/webgl/tex-sub-image-2d-bad-args.html
14561
14562        * html/canvas/WebGLRenderingContext.cpp:
14563        (WebCore::WebGLRenderingContext::texSubImage2DBase): Check format/type match.
14564
145652011-01-27  Yi Shen  <yi.4.shen@nokia.com>, Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
14566
14567        Reviewed by Andreas Kling.
14568
14569        [Qt] Add fullscreen media control button for html video
14570        https://bugs.webkit.org/show_bug.cgi?id=51543
14571
14572        Implement media control fullscreen button for QtWebKit html5 video.
14573
14574        * css/mediaControlsQt.css:
14575        (video::-webkit-media-controls-fullscreen-button):
14576        * platform/qt/RenderThemeQt.cpp:
14577        (WebCore::RenderThemeQt::paintMediaFullscreenButton):
14578
145792011-01-27  Nate Chapin  <japhet@chromium.org>
14580
14581        Reviewed by Adam Barth.
14582
14583        Remove FrameLoader::url() and update callers to use
14584        Document::url().
14585        https://bugs.webkit.org/show_bug.cgi?id=41165
14586
14587        Refactor, no new tests.
14588
14589        * WebCore.exp.in:
14590        * dom/Document.cpp:
14591        (WebCore::Document::processHttpEquiv):
14592        (WebCore::Document::removePendingSheet):
14593        * history/CachedFrame.cpp:
14594        (WebCore::CachedFrameBase::CachedFrameBase):
14595        * history/PageCache.cpp:
14596        (WebCore::logCanCacheFrameDecision):
14597        (WebCore::PageCache::canCachePageContainingThisFrame):
14598        * html/HTMLFrameElementBase.cpp:
14599        (WebCore::HTMLFrameElementBase::isURLAllowed):
14600        * html/HTMLPlugInImageElement.cpp:
14601        (WebCore::HTMLPlugInImageElement::allowedToLoadFrameURL):
14602        * inspector/InspectorAgent.cpp:
14603        (WebCore::InspectorAgent::inspectedURL):
14604        * inspector/InspectorResourceAgent.cpp:
14605        (WebCore::buildObjectForFrame):
14606        * loader/DocumentWriter.cpp:
14607        (WebCore::DocumentWriter::replaceDocument):
14608        (WebCore::DocumentWriter::deprecatedFrameEncoding):
14609        * loader/FrameLoader.cpp:
14610        * loader/FrameLoader.h:
14611        * loader/HistoryController.cpp:
14612        (WebCore::HistoryController::updateForStandardLoad):
14613        (WebCore::HistoryController::updateForRedirectWithLockedBackForwardList):
14614        (WebCore::HistoryController::updateForSameDocumentNavigation):
14615        * loader/NavigationScheduler.cpp:
14616        (WebCore::ScheduledHistoryNavigation::fire):
14617        (WebCore::NavigationScheduler::scheduleLocationChange):
14618        (WebCore::NavigationScheduler::scheduleRefresh):
14619        * page/FrameView.cpp:
14620        (WebCore::FrameView::updateControlTints):
14621        * page/Location.cpp:
14622        (WebCore::Location::url):
14623        (WebCore::Location::setProtocol):
14624        (WebCore::Location::setHost):
14625        (WebCore::Location::setHostname):
14626        (WebCore::Location::setPort):
14627        (WebCore::Location::setPathname):
14628        (WebCore::Location::setSearch):
14629        (WebCore::Location::setHash):
14630        (WebCore::Location::reload):
14631        * page/Page.cpp:
14632        (WebCore::Page::goToItem):
14633
146342011-01-27  Stephen White  <senorblanco@chromium.org>
14635
14636        Reviewed by Darin Adler.
14637
14638        Fix performance regression in ImageQualityController::objectDestroyed().
14639        https://bugs.webkit.org/show_bug.cgi?id=52645
14640
14641        In r72282, I inadvertently introduced this regression by using a
14642        linear search through the hash map on object destruction.  This was
14643        because the hash key consisted of both object pointer and layer id,
14644        but on object destruction we only know the object pointer, requiring
14645        a search to find all the layers. 
14646        By replacing the hash map with two nested hash maps, where the outer key
14647        is the object and the inner key is the layer, we can find all the
14648        relevant data for an object in one hash lookup.
14649
14650        * rendering/RenderBoxModelObject.cpp:
14651        Replace the (object,layer)->size HashMap with object->layer and
14652        layer->size HashMaps.
14653        (WebCore::ImageQualityController::isEmpty):
14654        Implement isEmpty() for the outer HashMap.
14655        (WebCore::ImageQualityController::removeLayer):
14656        When a layer is removed, remove it from the inner hash map.
14657        (WebCore::ImageQualityController::set):
14658        Implement set():  if the inner map exists, set the layer->size tuple
14659        directly.  If not, create a new inner map, set the tuple, and insert
14660        it in the outer map.
14661        (WebCore::ImageQualityController::objectDestroyed):
14662        Look up the object in the outer map only.
14663        (WebCore::ImageQualityController::highQualityRepaintTimerFired):
14664        Cosmetic changes for the renamed now-outer hash map.
14665        (WebCore::ImageQualityController::shouldPaintAtLowQuality):
14666        Do both outer and inner hash map lookups.  Call set() to add/update
14667        entries to the hash maps.  keyDestroyed() is now removeLayer().
14668        (WebCore::imageQualityController):
14669        Make the ImageQualityController a file-static global, so it can be
14670        created and destroyed on the fly.
14671        (WebCore::RenderBoxModelObject::~RenderBoxModelObject):
14672        If there is no ImageQualityController, don't call objectDestroyed().
14673        If it's empty, delete it.
14674        * rendering/RenderImage.cpp:
14675        (WebCore::RenderImage::paintIntoRect):
14676        Also pass the Image* as the (void*) layer, since 0 is not a valid
14677        HashMap key.
14678
146792011-01-27  Adrienne Walker  <enne@google.com>
14680
14681        Reviewed by James Robinson.
14682
14683        [chromium] Tiled compositor crashes if compositing turned off mid-paint
14684        https://bugs.webkit.org/show_bug.cgi?id=53198
14685
14686        * platform/graphics/chromium/LayerRendererChromium.cpp:
14687        (WebCore::LayerRendererChromium::drawLayers):
14688        * platform/graphics/chromium/LayerTilerChromium.cpp:
14689        (WebCore::LayerTilerChromium::update):
14690        (WebCore::LayerTilerChromium::draw):
14691
146922011-01-27  Carol Szabo <carol.szabo@nokia.com>
14693
14694        Reviewed by David Hyatt.
14695
14696        A corrupted counter tree is created when renderers are added to the
14697        tree bypassing RenderObject::addChild
14698        https://bugs.webkit.org/show_bug.cgi?id=51270
14699
14700        No new tests. This patch reimplements the fix for bugs 43812 and
14701        51637 and hence all tests are already there as part of the original
14702        fixes for those bugs.
14703
14704        * rendering/RenderCounter.cpp:
14705        (WebCore::findPlaceForCounter):
14706        Removed old workaround as this patch hopefully fixes the real
14707        problem.
14708        * rendering/RenderObject.cpp:
14709        (WebCore::RenderObject::addChild):
14710        Removed call to counter updater as it was moved to a lower level.
14711        (WebCore::RenderObject::destroy):
14712        Moved attached counter nodes destruction to after the node is
14713        removed from the tree.
14714        * rendering/RenderObjectChildList.cpp:
14715        (WebCore::RenderObjectChildList::removeChildNode):
14716        (WebCore::RenderObjectChildList::appendChildNode):
14717        (WebCore::RenderObjectChildList::insertChildNode):
14718        Added notifications to the Counter system such that the
14719        CounterForest reflects the changes to the RendererTree.
14720        * rendering/RenderWidget.cpp:
14721        (WebCore::RenderWidget::destroy):
14722        Applied the same changes as for RenderObject::destroy()
14723        since RenderObject::destroy() is not called from here.
14724
147252011-01-27  Adam Roben  <aroben@apple.com>
14726
14727        Add WKCACFViewLayerTreeHost
14728
14729        This is a class that derives from CACFLayerTreeHost and uses a WKCACFView to render.
14730
14731        Fixes <http://webkit.org/b/53251> <rdar://problem/8925496> CACFLayerTreeHost should use
14732        WKCACFView for rendering
14733
14734        * WebCore.vcproj/WebCore.vcproj: Added WKCACFViewLayerTreeHost.{cpp,h}.
14735
14736        * platform/graphics/ca/win/CACFLayerTreeHost.cpp:
14737        (WebCore::CACFLayerTreeHost::acceleratedCompositingAvailable): Make the test window have a
14738        non-zero size. WKCACFView will always say it can't render if you pass it a 0-sized window,
14739        so we need a non-empty window to perform a valid test.
14740        (WebCore::CACFLayerTreeHost::create): First try to create a WKCACFViewLayerTreeHost, then
14741        fall back to a LegacyCACFLayerTreeHost.
14742        (WebCore::CACFLayerTreeHost::flushPendingLayerChangesNow): Moved code to react to the
14743        context flush from here...
14744        (WebCore::CACFLayerTreeHost::contextDidChange): ...to here. Derived classes are required to
14745        call this function whenever changes are flushed to the context.
14746
14747        * platform/graphics/ca/win/CACFLayerTreeHost.h: Added contextDidChange.
14748
14749        * platform/graphics/ca/win/LegacyCACFLayerTreeHost.cpp:
14750        (WebCore::LegacyCACFLayerTreeHost::createRenderer):
14751        (WebCore::LegacyCACFLayerTreeHost::resize):
14752        Changed to use flushContext instead of flushing the context manually so that we will always
14753        notify the base class when the context gets flushed.
14754
14755        (WebCore::LegacyCACFLayerTreeHost::flushContext): Added a call to contextDidChange so the
14756        base class will know what happened. Moved code to schedule a render from here...
14757        (WebCore::LegacyCACFLayerTreeHost::contextDidChange): ...to here.
14758
14759        * platform/graphics/ca/win/LegacyCACFLayerTreeHost.h: Added contextDidChange.
14760
14761        * platform/graphics/ca/win/WKCACFViewLayerTreeHost.cpp: Added.
14762        (WebCore::WKCACFViewLayerTreeHost::create): If WebKitQuartzCoreAdditions, which provides
14763        WKCACFView, isn't present, bail. Otherwise allocate and return a new host.
14764        (WebCore::WKCACFViewLayerTreeHost::WKCACFViewLayerTreeHost): Initialize members.
14765        (WebCore::WKCACFViewLayerTreeHost::updateViewIfNeeded): Update the view if we previously
14766        marked that we needed to do so, and flush the context if our layer's bounds have changed.
14767        (WebCore::WKCACFViewLayerTreeHost::contextDidChangeCallback): Call through to
14768        contextDidChange.
14769        (WebCore::WKCACFViewLayerTreeHost::contextDidChange): Tell the WKCACFView to start rendering
14770        (if we didn't already), then call up to the base class.
14771        (WebCore::WKCACFViewLayerTreeHost::initializeContext): Set the context's user data, the
14772        view's layer, and hook up our "context did change" callback.
14773        (WebCore::WKCACFViewLayerTreeHost::resize): Mark that the view needs to be updated the next
14774        time we paint.
14775        (WebCore::WKCACFViewLayerTreeHost::createRenderer): Update our view and return whether it is
14776        able to render or not.
14777        (WebCore::WKCACFViewLayerTreeHost::destroyRenderer): Clear out all the info we passed down
14778        to the view.
14779        (WebCore::WKCACFViewLayerTreeHost::lastCommitTime): Call through to the view.
14780        (WebCore::WKCACFViewLayerTreeHost::flushContext): Ditto.
14781        (WebCore::WKCACFViewLayerTreeHost::paint): Update the view so it will draw at the right
14782        size, then call up to the base class.
14783        (WebCore::WKCACFViewLayerTreeHost::render): Invalidate the view using the passed-in dirty
14784        rects, then ask it to draw.
14785
14786        * platform/graphics/ca/win/WKCACFViewLayerTreeHost.h: Copied from Source/WebCore/platform/graphics/ca/win/LegacyCACFLayerTreeHost.h.
14787
147882011-01-27  Adam Roben  <aroben@apple.com>
14789
14790        Move LegacyCACFLayerTreeHost into its own files
14791
14792        More preparation for <http://webkit.org/b/53251> <rdar://problem/8925496> CACFLayerTreeHost
14793        should use WKCACFView for rendering
14794
14795        Reviewed by Simon Fraser.
14796
14797        * WebCore.vcproj/WebCore.vcproj: Added LegacyCACFLayerTreeHost.{cpp,h}.
14798
14799        * platform/graphics/ca/win/CACFLayerTreeHost.cpp: Moved code from here to new files.
14800
14801        * platform/graphics/ca/win/LegacyCACFLayerTreeHost.cpp: Added.
14802        * platform/graphics/ca/win/LegacyCACFLayerTreeHost.h: Added.
14803
148042011-01-27  Patrick Gansterer  <paroga@webkit.org>
14805
14806        Unreviewed WinCE build fix for r76824.
14807
14808        * platform/wince/DragDataWinCE.cpp:
14809        (WebCore::DragData::dragDataMap):
14810
148112011-01-27  Adam Roben  <aroben@apple.com>
14812
14813        Split CACFLayerTreeHost into base and derived classes
14814
14815        The derived class, LegacyCACFLayerTreeHost, contains all the D3D-related code. A later patch
14816        will add a new derived class that replaces the D3D code with a different rendering API.
14817
14818        For now, LegacyCACFLayerTreeHost lives in CACFLayerTreeHost.cpp. This keeps the diff a
14819        little smaller. A later patch will move it to its own source files.
14820
14821        Preparation for <http://webkit.org/b/53251> <rdar://problem/8925496> CACFLayerTreeHost
14822        should use WKCACFView for rendering
14823
14824        Reviewed by Simon Fraser.
14825
14826        * platform/graphics/ca/win/CACFLayerTreeHost.cpp:
14827        (WebCore::CACFLayerTreeHost::acceleratedCompositingAvailable): Clear the window before
14828        destroying the host, as that is now the API contract that clients must fulfill.
14829        (WebCore::LegacyCACFLayerTreeHost::create): Added. Simple creator.
14830        (WebCore::CACFLayerTreeHost::create): Now instantiates a LegacyCACFLayerTreeHost. Calls the
14831        new initialize function to perform initialization that has to happen after the vtable has
14832        been set up.
14833
14834        (WebCore::LegacyCACFLayerTreeHost::LegacyCACFLayerTreeHost):
14835        (WebCore::CACFLayerTreeHost::CACFLayerTreeHost):
14836        (WebCore::LegacyCACFLayerTreeHost::initializeContext):
14837        (WebCore::CACFLayerTreeHost::initialize):
14838        Moved some initialization code from the CACFLayerTreeHost constructor into these new
14839        functions.
14840
14841        (WebCore::LegacyCACFLayerTreeHost::~LegacyCACFLayerTreeHost): Added. Moved code here from
14842        ~CACFLayerTreeHost.
14843        (WebCore::CACFLayerTreeHost::~CACFLayerTreeHost): Rather than clearing the window at this
14844        point (which would be too late, since we won't be able to call into the derived class's
14845        virtual functions), just assert that it has already been cleared (or was never set in the
14846        first place).
14847        (WebCore::LegacyCACFLayerTreeHost::createRenderer): Renamed from
14848        CACFLayerTreeHost::createRenderer, and changed to use getters instead of accessing
14849        CACFLayerTreeHost's data members directly.
14850
14851        (WebCore::LegacyCACFLayerTreeHost::destroyRenderer):
14852        (WebCore::CACFLayerTreeHost::destroyRenderer):
14853        Moved some code to the new LegacyCACFLayerTreeHost function.
14854
14855        (WebCore::LegacyCACFLayerTreeHost::resize):
14856        (WebCore::LegacyCACFLayerTreeHost::renderTimerFired):
14857        Moved these functions to LegacyCACFLayerTreeHost.
14858
14859        (WebCore::LegacyCACFLayerTreeHost::paint):
14860        (WebCore::CACFLayerTreeHost::paint):
14861        Moved some code to the new LegacyCACFLayerTreeHost function.
14862
14863        (WebCore::LegacyCACFLayerTreeHost::render):
14864        (WebCore::LegacyCACFLayerTreeHost::renderSoon):
14865        Moved these functions to LegacyCACFLayerTreeHost.
14866
14867        (WebCore::CACFLayerTreeHost::flushPendingLayerChangesNow): Moved code to flush the context
14868        from here...
14869        (WebCore::LegacyCACFLayerTreeHost::flushContext): ...to this new function.
14870
14871        (WebCore::LegacyCACFLayerTreeHost::lastCommitTime): Moved code to get the last commit time
14872        to this new function...
14873        (WebCore::CACFLayerTreeHost::notifyAnimationsStarted): ...from here.
14874
14875        (WebCore::LegacyCACFLayerTreeHost::initD3DGeometry):
14876        (WebCore::LegacyCACFLayerTreeHost::resetDevice):
14877        Moved these functions to LegacyCACFLayerTreeHost.
14878
14879        * platform/graphics/ca/win/CACFLayerTreeHost.h: Made some functions virtual, removed some
14880        members that have moved to LegacyCACFLayerTreeHost, grouped remaining members more
14881        logically, and added some getters used by LegacyCACFLayerTreeHost.
14882
148832011-01-27  Adam Roben  <aroben@apple.com>
14884
14885        Move CACFLayerTreeHostClient to its own header file
14886
14887        Rubber-stamped by Steve Falkenburg.
14888
14889        * WebCore.vcproj/WebCore.vcproj: Added CACFLayerTreeHostClient.h. Also let VS have its way
14890        with the file.
14891
14892        * platform/graphics/ca/win/CACFLayerTreeHost.cpp: Added new #include.
14893
14894        * platform/graphics/ca/win/CACFLayerTreeHost.h: Removed CACFLayerTreeHostClient.
14895
14896        * platform/graphics/ca/win/CACFLayerTreeHostClient.h: Added.
14897
14898        * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp: Moved some #includes here
14899        from the header file.
14900
14901        * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.h: Replaced broader #includes
14902        with more specific ones, plus a forward-declaration.
14903
149042011-01-27  James Simonsen  <simonjam@chromium.org>
14905
14906        Reviewed by Tony Chang.
14907
14908        [Chromium] Simplify small caps logic in complex text on linux
14909        https://bugs.webkit.org/show_bug.cgi?id=53207
14910
14911        Test: fast/text/atsui-multiple-renderers.html
14912              fast/text/atsui-small-caps-punctuation-size.html
14913
14914        * platform/graphics/chromium/ComplexTextControllerLinux.cpp:
14915        (WebCore::ComplexTextController::nextScriptRun): Remove redundant logic. Case changes in a text run imply FontData changes.
14916        (WebCore::ComplexTextController::setupFontForScriptRun): Update comment to reflect above.
14917
149182011-01-27  Adam Barth  <abarth@webkit.org>
14919
14920        In which I attempt to fix the EFL build.
14921
14922        * CMakeLists.txt:
14923
149242011-01-25  Levi Weintraub  <leviw@chromium.org>
14925
14926        Reviewed by Darin Adler.
14927
14928        Adding border and padding to the calculation of the local caret rect for RenderBoxes.
14929        Corrected for mistake in r76625
14930
14931        Undo moves caret to invalid position
14932        https://bugs.webkit.org/show_bug.cgi?id=49744
14933
14934        Tests: editing/selection/caret-painting-after-paste-undo-rtl.html
14935               editing/selection/caret-painting-after-paste-undo.html
14936
14937        * rendering/RenderBox.cpp:
14938        (WebCore::RenderBox::localCaretRect):
14939
149402011-01-27  Sheriff Bot  <webkit.review.bot@gmail.com>
14941
14942        Unreviewed, rolling out r76825.
14943        http://trac.webkit.org/changeset/76825
14944        https://bugs.webkit.org/show_bug.cgi?id=53256
14945
14946        "caused crashes on GTK and chromium" (Requested by rniwa on
14947        #webkit).
14948
14949        * rendering/RenderBoxModelObject.cpp:
14950        (WebCore::ImageQualityController::keyDestroyed):
14951        (WebCore::ImageQualityController::objectDestroyed):
14952        (WebCore::ImageQualityController::highQualityRepaintTimerFired):
14953        (WebCore::ImageQualityController::shouldPaintAtLowQuality):
14954        (WebCore::imageQualityController):
14955        (WebCore::RenderBoxModelObject::~RenderBoxModelObject):
14956
149572011-01-27  Adam Barth  <abarth@webkit.org>
14958
14959        Reviewed by Eric Seidel.
14960
14961        Generalize the mechanism view-source uses to remember the source for an HTMLToken
14962        https://bugs.webkit.org/show_bug.cgi?id=53200
14963
14964        Currently view-source tracks the source associated with each HTMLToken.
14965        We want to re-use this mechanism for the new XSS auditor.  This patch
14966        moves this code into its own class so it can be shared between the
14967        view-source parser and the general HTML parser.  This patch also add
14968        support for tracking the source of tokens that span document.write
14969        boundaries.
14970
14971        No functional change.  This code change is somewhat tested by our
14972        view-source layout tests.
14973
14974        * Android.mk:
14975        * GNUmakefile.am:
14976        * WebCore.gypi:
14977        * WebCore.pro:
14978        * WebCore.vcproj/WebCore.vcproj:
14979        * WebCore.xcodeproj/project.pbxproj:
14980            - Fun with updating build files.
14981        * html/parser/HTMLDocumentParser.cpp:
14982        (WebCore::HTMLDocumentParser::pumpTokenizer):
14983            - Teach HTMLDocumentParser to track the source for HTMLTokens.
14984              Currently, this information isn't used, but it will be shortly.
14985              I ran the HTML parser benchmark and this change didn't have a
14986              measurable effect.
14987        * html/parser/HTMLDocumentParser.h:
14988            - Composite in the HTMLSourceTracker.
14989        * html/parser/HTMLSourceTracker.cpp: Added.
14990        (WebCore::HTMLSourceTracker::HTMLSourceTracker):
14991        (WebCore::HTMLSourceTracker::start):
14992        (WebCore::HTMLSourceTracker::end):
14993            - This function should eventualy be folded into HTMLTokenizer.
14994        (WebCore::HTMLSourceTracker::sourceForToken):
14995        * html/parser/HTMLSourceTracker.h: Added.
14996        * html/parser/HTMLToken.h:
14997            - Now HTMLTokens always have a start index of zero.  To do the job
14998              of the old start index, this patch introduces the notion of a
14999              baseOffset.  Unlike the start index (which was used as the base
15000              offset for all the other indicies), the baseOffset can change
15001              over the lifetime of the token.  We need the flexibility to
15002              change the offset for tokens that span document.write boundaries.
15003              Values are now normalized to zero-offset when stored.
15004        (WebCore::HTMLToken::clear):
15005        (WebCore::HTMLToken::setBaseOffset):
15006        (WebCore::HTMLToken::end):
15007        (WebCore::HTMLToken::beginAttributeName):
15008        (WebCore::HTMLToken::endAttributeName):
15009        (WebCore::HTMLToken::beginAttributeValue):
15010        (WebCore::HTMLToken::endAttributeValue):
15011        * html/parser/HTMLViewSourceParser.cpp:
15012            - Updates the HTMLViewSourceParser to use the new
15013              HTMLSourceTracker.
15014        (WebCore::HTMLViewSourceParser::pumpTokenizer):
15015        (WebCore::HTMLViewSourceParser::append):
15016        (WebCore::HTMLViewSourceParser::sourceForToken):
15017            - This function now just calls through to HTMLSourceTracker.
15018        * html/parser/HTMLViewSourceParser.h:
15019        * platform/text/SegmentedString.cpp:
15020        (WebCore::SegmentedString::currentColumn):
15021        (WebCore::SegmentedString::setCurrentPosition):
15022        * platform/text/SegmentedString.h:
15023        (WebCore::SegmentedString::numberOfCharactersConsumed):
15024            - We need to handle the general case now.  The "slow" version
15025              doesn't turn out to be any slower in practice anyway.
15026
150272011-01-27  Sam Weinig  <sam@webkit.org>
15028
15029        Fix all the builds.
15030
15031        * platform/ScrollView.cpp:
15032        (WebCore::ScrollView::paintOverhangAreas): Add parameters.
15033
150342011-01-27  Sam Weinig  <sam@webkit.org>
15035
15036        Reviewed by Dave Hyatt.
15037
15038        Add ability to do an unconstrained scroll on a ScrollView
15039        https://bugs.webkit.org/show_bug.cgi?id=53249
15040
15041        * platform/ScrollView.cpp:
15042        (WebCore::ScrollView::ScrollView):
15043        Initialize m_constrainsScrollingToContentEdge to true.
15044
15045        (WebCore::ScrollView::setScrollOffset):
15046        Only constrain the offset if the m_constrainsScrollingToContentEdge is set.
15047
15048        (WebCore::ScrollView::updateScrollbars):
15049        Simplify expression converting an IntSize to an IntPoint.
15050        
15051        (WebCore::ScrollView::paint):
15052        Paint the overhang if there is any.
15053        
15054        (WebCore::ScrollView::calculateOverhangAreasForPainting):
15055        Calculate the overhang in viewport coordinates for painting.
15056
15057        * platform/ScrollView.h:
15058        (WebCore::ScrollView::constrainsScrollingToContentEdge):
15059        (WebCore::ScrollView::setConstrainsScrollingToContentEdge):
15060        Add bit to control whether the scroll position should be constrained
15061        to the content edge when set.
15062
15063        * platform/ScrollbarThemeComposite.cpp:
15064        (WebCore::usedTotalSize):
15065        (WebCore::ScrollbarThemeComposite::thumbPosition):
15066        (WebCore::ScrollbarThemeComposite::thumbLength):
15067        * platform/mac/ScrollbarThemeMac.mm:
15068        (WebCore::ScrollbarThemeMac::paint):
15069        Improve calculations of thumb size and position to take overhang into account.
15070
150712011-01-27  Dirk Schulze  <krit@webkit.org>
15072
15073        Reviewed by Nikolas Zimmermann.
15074
15075        SVG animation of Paths with segments of different coordinate modes on begin and end
15076        https://bugs.webkit.org/show_bug.cgi?id=52984
15077
15078        At the moment we just support SVG path animations, if the number of segments on the given start path
15079        is the same as the number of segments on the given end path. But a segment on a given position must be identical
15080        on both paths as well. Not only the segment type, also the coordinate mode of the segments must be identical.
15081        If MoveToRel is on the second position on the start path a MoveToRel must be on the second position
15082        of the end path too. According to the SVG spec, at least the coordinate mode can differ. Means, if we have MoveToRel
15083        in the start path, we can use MoveToAbs on the same position in the end path.
15084
15085        This patch fixes the blending code to follow the spec here. It was necessary to track the current position of
15086        both paths, transform coordinates to the same coordinate mode and transform the resulting animation coordinate back
15087        to the coordinate mode of either the start or the end path. Which mode is taken depends on the progress of the
15088        animation.
15089
15090        Tests: svg/animations/animate-path-animation-Cc-Ss.html
15091               svg/animations/animate-path-animation-Ll-Vv-Hh.html
15092               svg/animations/animate-path-animation-Qq-Tt.html
15093               svg/animations/animate-path-animation-cC-sS-inverse.html
15094               svg/animations/animate-path-animation-lL-vV-hH-inverse.html
15095               svg/animations/animate-path-animation-qQ-tT-inverse.html
15096
15097        * svg/SVGPathBlender.cpp:
15098        (WebCore::blendFloatPoint):
15099        (WebCore::blendAnimatedFloat):
15100        (WebCore::SVGPathBlender::blendAnimatedDimensionalFloat):
15101        (WebCore::SVGPathBlender::blendAnimatedFloatPoint):
15102        (WebCore::SVGPathBlender::blendMoveToSegment):
15103        (WebCore::SVGPathBlender::blendLineToSegment):
15104        (WebCore::SVGPathBlender::blendLineToHorizontalSegment):
15105        (WebCore::SVGPathBlender::blendLineToVerticalSegment):
15106        (WebCore::SVGPathBlender::blendCurveToCubicSegment):
15107        (WebCore::SVGPathBlender::blendCurveToCubicSmoothSegment):
15108        (WebCore::SVGPathBlender::blendCurveToQuadraticSegment):
15109        (WebCore::SVGPathBlender::blendCurveToQuadraticSmoothSegment):
15110        (WebCore::SVGPathBlender::blendArcToSegment):
15111        (WebCore::coordinateModeOfCommand):
15112        (WebCore::isSegmentEqual):
15113        (WebCore::SVGPathBlender::blendAnimatedPath):
15114        (WebCore::SVGPathBlender::cleanup):
15115        * svg/SVGPathBlender.h:
15116
151172011-01-27  Cris Neckar  <cdn@chromium.org>
15118
15119        Reviewed by Dimitri Glazkov.
15120
15121        Clear the parent on a css keyframe's m_style when removing it from the stylesheet.
15122        https://bugs.webkit.org/show_bug.cgi?id=52320
15123
15124        Test: fast/css/css-keyframe-style-crash.html
15125
15126        * css/CSSRuleList.cpp:
15127        (WebCore::CSSRuleList::deleteRule):
15128        * css/WebKitCSSKeyframesRule.cpp:
15129        (WebCore::WebKitCSSKeyframesRule::~WebKitCSSKeyframesRule):
15130
151312011-01-27  Rob Buis  <rwlbuis@gmail.com>
15132
15133        Reviewed by Kent Tamura.
15134
15135        Color changes to option elements in a select multiple aren't drawn immediately
15136        https://bugs.webkit.org/show_bug.cgi?id=49790
15137
15138        Redirect style changes on <option> element to the owner <select> element.
15139
15140        Test: fast/repaint/select-option-background-color.html
15141
15142        * html/HTMLOptionElement.cpp:
15143        (WebCore::HTMLOptionElement::setRenderStyle):
15144
151452011-01-19  Stephen White  <senorblanco@chromium.org>
15146
15147        Reviewed by Darin Adler.
15148
15149        Fix performance regression in ImageQualityController::objectDestroyed().
15150        https://bugs.webkit.org/show_bug.cgi?id=52645
15151
15152        In r72282, I inadvertently introduced this regression by using a
15153        linear search through the hash map on object destruction.  This was
15154        because the hash key consisted of both object pointer and layer id,
15155        but on object destruction we only know the object pointer, requiring
15156        a search to find all the layers. 
15157        By replacing the hash map with two nested hash maps, where the outer key
15158        is the object and the inner key is the layer, we can find all the
15159        relevant data for an object in one hash lookup.
15160
15161        * rendering/RenderBoxModelObject.cpp:
15162        Replace the (object,layer)->size HashMap with object->layer and
15163        layer->size HashMaps.
15164        (WebCore::ImageQualityController::isEmpty):
15165        Implement isEmpty() for the outer HashMap.
15166        (WebCore::ImageQualityController::removeLayer):
15167        When a layer is removed, remove it from the inner hash map.
15168        (WebCore::ImageQualityController::set):
15169        Implement set():  if the inner map exists, set the layer->size tuple
15170        directly.  If not, create a new inner map, set the tuple, and insert
15171        it in the outer map.
15172        (WebCore::ImageQualityController::objectDestroyed):
15173        Look up the object in the outer map only.
15174        (WebCore::ImageQualityController::highQualityRepaintTimerFired):
15175        Cosmetic changes for the renamed now-outer hash map.
15176        (WebCore::ImageQualityController::shouldPaintAtLowQuality):
15177        Do both outer and inner hash map lookups.  Call set() to add/update
15178        entries to the hash maps.  keyDestroyed() is now removeLayer().
15179        (WebCore::imageQualityController):
15180        Make the ImageQualityController a file-static global, so it can be
15181        created and destroyed on the fly.
15182        (WebCore::RenderBoxModelObject::~RenderBoxModelObject):
15183        If there is no ImageQualityController, don't call objectDestroyed().
15184        If it's empty, delete it.
15185
15186
151872011-01-26  Enrica Casucci  <enrica@apple.com>
15188
15189        Reviewed by Darin Adler and Adam Roben.
15190
15191        WebKit2: add support for drag and drop on Windows
15192        https://bugs.webkit.org/show_bug.cgi?id=52775
15193        <rdar://problem/8514409>
15194        
15195        On Windows the access to the content being dragged is
15196        provided via the IDataObject interface that is made available
15197        to the window that registers itself as drop target.
15198        Since this interface cannot be accessed from the WebProcess,
15199        in every call to one of the methods of the IDropTarget interface
15200        we serialize the content of the drag clipboard and send it over to
15201        the WebProcess.
15202        The bulk of this patch consists in the refactoring needed in DragData
15203        and ClipboardWin classes to extract the data from the serialized object.
15204        
15205        * platform/DragData.cpp:
15206        * platform/DragData.h:
15207        * platform/win/ClipboardUtilitiesWin.cpp:
15208        (WebCore::getWebLocData):
15209        (WebCore::getURL):
15210        (WebCore::getPlainText):
15211        (WebCore::getTextHTML):
15212        (WebCore::getCFHTML):
15213        (WebCore::fragmentFromFilenames):
15214        (WebCore::containsFilenames):
15215        (WebCore::fragmentFromHTML):
15216        (WebCore::containsHTML):
15217        (WebCore::getClipboardData):
15218        * platform/win/ClipboardUtilitiesWin.h:
15219        * platform/win/ClipboardWin.cpp:
15220        (WebCore::Clipboard::create):
15221        (WebCore::ClipboardWin::ClipboardWin):
15222        (WebCore::ClipboardWin::getData):
15223        (WebCore::ClipboardWin::types):
15224        (WebCore::ClipboardWin::files):
15225        (WebCore::ClipboardWin::hasData):
15226        * platform/win/ClipboardWin.h:
15227        (WebCore::ClipboardWin::create):
15228        * platform/win/DragDataWin.cpp:
15229        (WebCore::DragData::DragData):
15230        (WebCore::DragData::containsURL):
15231        (WebCore::DragData::dragDataMap):
15232        (WebCore::DragData::asURL):
15233        (WebCore::DragData::containsFiles):
15234        (WebCore::DragData::asFilenames):
15235        (WebCore::DragData::containsPlainText):
15236        (WebCore::DragData::asPlainText):
15237        (WebCore::DragData::canSmartReplace):
15238        (WebCore::DragData::containsCompatibleContent):
15239        (WebCore::DragData::asFragment):
15240
152412011-01-27  Mario Sanchez Prada  <msanchez@igalia.com>
15242
15243        Reviewed by Martin Robinson.
15244
15245        [GTK] Space characters in source document interfere with reported caret offset
15246        https://bugs.webkit.org/show_bug.cgi?id=53033
15247
15248        Calculate caret offset from rendered text instead of from node contents.
15249
15250        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
15251        (objectAndOffsetUnignored): Calculate the caret offset based only
15252        on positions and ranges, instead of using the computed offset in
15253        the container node.
15254
152552011-01-26  Alexey Proskuryakov  <ap@apple.com>
15256
15257        Reviewed by Darin Adler.
15258
15259        https://bugs.webkit.org/show_bug.cgi?id=53197
15260        <rdar://problem/8895682> Make WebKit2 printing asynchronous
15261
15262        * WebCore.exp.in: Export more PrintContext methods that we didn't use on Mac before.
15263
15264        * page/PrintContext.cpp: (WebCore::PrintContext::spoolRect): Changed to make the same
15265        transformation as spoolPages does for consistency.
15266
152672011-01-27  David Grogan  <dgrogan@google.com>
15268
15269        Reviewed by Jeremy Orlow.
15270
15271        initial support for close() in indexeddb backend
15272        https://bugs.webkit.org/show_bug.cgi?id=53150
15273
15274        Test: storage/indexeddb/transaction-after-close.html
15275
15276        * storage/IDBDatabase.cpp:
15277        (WebCore::IDBDatabase::IDBDatabase):
15278        (WebCore::IDBDatabase::transaction):
15279        (WebCore::IDBDatabase::close):
15280        * storage/IDBDatabase.h:
15281        * storage/IDBDatabase.idl:
15282        * storage/IDBDatabaseBackendImpl.cpp:
15283        (WebCore::IDBDatabaseBackendImpl::transaction):
15284        (WebCore::IDBDatabaseBackendImpl::close):
15285
152862011-01-27  Dirk Schulze  <krit@webkit.org>
15287
15288        Reviewed by Nikolas Zimmermann.
15289
15290        SVG animation doesn't support calcMode discrete for number and color values.
15291        https://bugs.webkit.org/show_bug.cgi?id=53189
15292
15293        Add support for calcMode discrete on number and color animation.
15294
15295        Tests: svg/animations/animate-color-calcMode-discrete.html
15296               svg/animations/animate-number-calcMode-discrete.html
15297
15298        * svg/SVGAnimateElement.cpp:
15299        (WebCore::SVGAnimateElement::calculateAnimatedValue):
15300
153012011-01-26  Zhenyao Mo  <zmo@google.com>
15302
15303        Reviewed by Kenneth Russell.
15304
15305        shaderSource needs to preserve original source
15306        https://bugs.webkit.org/show_bug.cgi?id=52833
15307
15308        Test: fast/canvas/webgl/gl-getshadersource.html
15309
15310        * html/canvas/WebGLRenderingContext.cpp:
15311        (WebCore::WebGLRenderingContext::getShaderParameter): Intercept SHADER_SOURCE_LENGTH.
15312        (WebCore::WebGLRenderingContext::getShaderSource): Intercept the call.
15313        (WebCore::WebGLRenderingContext::shaderSource): Cache the source.
15314        * html/canvas/WebGLShader.cpp: Cache shader source.
15315        (WebCore::WebGLShader::WebGLShader):
15316        * html/canvas/WebGLShader.h: Ditto.
15317        (WebCore::WebGLShader::getSource):
15318        (WebCore::WebGLShader::setSource):
15319
153202011-01-27  Patrick Gansterer  <paroga@webkit.org>
15321
15322        Unreviewed WinCE build fix for r76743.
15323
15324        * platform/graphics/wince/FontWinCE.cpp:
15325        (WebCore::TextRunComponent::TextRunComponent):
15326
153272011-01-27  Pavel Podivilov  <podivilov@chromium.org>
15328
15329        Reviewed by Pavel Feldman.
15330
15331        Web Inspector: Closure and Global variable details automatically collapsing on each step through JavaScript code.
15332        https://bugs.webkit.org/show_bug.cgi?id=53234
15333
15334        * inspector/front-end/ScopeChainSidebarPane.js:
15335        (WebInspector.ScopeChainSidebarPane):
15336        (WebInspector.ScopeChainSidebarPane.prototype.update):
15337
153382011-01-27  Sheriff Bot  <webkit.review.bot@gmail.com>
15339
15340        Unreviewed, rolling out r76789.
15341        http://trac.webkit.org/changeset/76789
15342        https://bugs.webkit.org/show_bug.cgi?id=53238
15343
15344        Broke GTK layout tests (Requested by podivilov on #webkit).
15345
15346        * inspector/front-end/ScopeChainSidebarPane.js:
15347        (WebInspector.ScopeChainSidebarPane):
15348        (WebInspector.ScopeChainSidebarPane.prototype.update):
15349
153502011-01-27  Yury Semikhatsky  <yurys@chromium.org>
15351
15352        Reviewed by Pavel Feldman.
15353
15354        Web Inspector: store all settings related to the agents on the frontend side
15355        https://bugs.webkit.org/show_bug.cgi?id=53174
15356
15357        * CMakeLists.txt:
15358        * GNUmakefile.am:
15359        * WebCore.exp.in:
15360        * WebCore.gypi:
15361        * WebCore.pro:
15362        * WebCore.vcproj/WebCore.vcproj:
15363        * WebCore.xcodeproj/project.pbxproj:
15364        * bindings/js/ScriptDebugServer.cpp:
15365        * bindings/js/ScriptDebugServer.h:
15366        * bindings/js/ScriptProfiler.cpp:
15367        * bindings/js/ScriptProfiler.h:
15368        * bindings/v8/ScriptDebugServer.cpp:
15369        * bindings/v8/ScriptDebugServer.h:
15370        * bindings/v8/ScriptProfiler.cpp:
15371        * bindings/v8/ScriptProfiler.h:
15372        * inspector/Inspector.idl:
15373        * inspector/InspectorAgent.cpp: profiler and debugger enablement state is now stored
15374        on the front-end side and will be pushed to the backend when the frontend is loaded.
15375        (WebCore::InspectorAgent::InspectorAgent):
15376        (WebCore::InspectorAgent::disconnectFrontend):
15377        (WebCore::InspectorAgent::restoreDebugger):
15378        (WebCore::InspectorAgent::restoreProfiler):
15379        (WebCore::InspectorAgent::enableProfiler):
15380        (WebCore::InspectorAgent::disableProfiler):
15381        (WebCore::InspectorAgent::showAndEnableDebugger):
15382        (WebCore::InspectorAgent::enableDebugger):
15383        (WebCore::InspectorAgent::disableDebugger):
15384        * inspector/InspectorAgent.h:
15385        * inspector/InspectorConsoleAgent.cpp: XHR failures will be logged to the console only
15386        if the front-end was opened during current browser session and XHR logging is turned on
15387        there.
15388        (WebCore::InspectorConsoleAgent::setMonitoringXHREnabled):
15389        (WebCore::InspectorConsoleAgent::setConsoleMessagesEnabled):
15390        * inspector/InspectorDebuggerAgent.cpp:
15391        * inspector/InspectorDebuggerAgent.h:
15392        * inspector/InspectorInstrumentation.cpp:
15393        (WebCore::InspectorInstrumentation::identifierForInitialRequestImpl):
15394        (WebCore::InspectorInstrumentation::didLoadResourceFromMemoryCacheImpl):
15395        * inspector/InspectorProfilerAgent.cpp:
15396        (WebCore::InspectorProfilerAgent::InspectorProfilerAgent):
15397        (WebCore::InspectorProfilerAgent::startUserInitiatedProfiling):
15398        * inspector/InspectorSettings.cpp: Removed.
15399        * inspector/InspectorSettings.h: Removed.
15400        * inspector/InspectorState.cpp:
15401        (WebCore::InspectorState::InspectorState):
15402        * inspector/InspectorState.h:
15403        * inspector/front-end/ConsoleView.js:
15404        (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher.dispatcher.consoleMessagesCleared):
15405        (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher):
15406        (WebInspector.ConsoleView.prototype._handleContextMenuEvent.itemAction):
15407        (WebInspector.ConsoleView.prototype._handleContextMenuEvent):
15408        * inspector/front-end/ProfilesPanel.js:
15409        (WebInspector.ProfilesPanel.prototype._toggleProfiling):
15410        * inspector/front-end/ScriptsPanel.js:
15411        (WebInspector.ScriptsPanel.prototype._toggleDebugging):
15412        * inspector/front-end/Settings.js:
15413        (WebInspector.Settings):
15414        * inspector/front-end/inspector.js:
15415
154162011-01-27  Pavel Podivilov  <podivilov@chromium.org>
15417
15418        Reviewed by Pavel Feldman.
15419
15420        Web Inspector: Closure and Global variable details automatically collapsing on each step through JavaScript code.
15421        https://bugs.webkit.org/show_bug.cgi?id=53234
15422
15423        * inspector/front-end/ScopeChainSidebarPane.js:
15424        (WebInspector.ScopeChainSidebarPane):
15425        (WebInspector.ScopeChainSidebarPane.prototype.update):
15426
154272011-01-27  Alexander Pavlov  <apavlov@chromium.org>
15428
15429        Reviewed by Pavel Feldman.
15430
15431        Web Inspector: [Elements panel] Tooltip for relative links incorrectly identifies current URL
15432        https://bugs.webkit.org/show_bug.cgi?id=53171
15433
15434        * inspector/front-end/inspector.js:
15435        (WebInspector.completeURL): Taught to understand partial href's that start with "?" (contain GET parameters only)
15436
154372011-01-27  Yury Semikhatsky  <yurys@chromium.org>
15438
15439        Reviewed by Pavel Feldman.
15440
15441        [V8] Crash in WebCore::addMessageToConsole
15442        https://bugs.webkit.org/show_bug.cgi?id=53227
15443
15444        * bindings/v8/V8Proxy.cpp: check that the Frame where the error
15445        occured still has a page before getting a console object from it.
15446        (WebCore::V8Proxy::reportUnsafeAccessTo):
15447
154482011-01-27  Hans Wennborg  <hans@chromium.org>
15449
15450        Reviewed by Jeremy Orlow.
15451
15452        IndexedDB: Remove IDBCallbacks::onSuccess() used for null values.
15453        https://bugs.webkit.org/show_bug.cgi?id=53178
15454
15455        Remove the IDBCallbacks::onSuccess() function that was used for
15456        null values, and replace such calls with calls to
15457        IDBCallBacks::onSuccess(SerializedScriptValue::nullValue())
15458        instead.
15459
15460        No new functionality, so no new tests.
15461
15462        * storage/IDBCallbacks.h:
15463        * storage/IDBCursorBackendImpl.cpp:
15464        (WebCore::IDBCursorBackendImpl::updateInternal):
15465        (WebCore::IDBCursorBackendImpl::continueFunctionInternal):
15466        * storage/IDBIndexBackendImpl.cpp:
15467        (WebCore::IDBIndexBackendImpl::openCursorInternal):
15468        * storage/IDBObjectStoreBackendImpl.cpp:
15469        (WebCore::IDBObjectStoreBackendImpl::deleteInternal):
15470        (WebCore::IDBObjectStoreBackendImpl::openCursorInternal):
15471        * storage/IDBRequest.cpp:
15472        * storage/IDBRequest.h:
15473
154742011-01-27  Sheriff Bot  <webkit.review.bot@gmail.com>
15475
15476        Unreviewed, rolling out r76773.
15477        http://trac.webkit.org/changeset/76773
15478        https://bugs.webkit.org/show_bug.cgi?id=53230
15479
15480        breaks multiple GTK media tests (Requested by philn-tp on
15481        #webkit).
15482
15483        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
15484        (WebCore::mimeTypeCache):
15485
154862011-01-27  Sheriff Bot  <webkit.review.bot@gmail.com>
15487
15488        Unreviewed, rolling out r76770.
15489        http://trac.webkit.org/changeset/76770
15490        https://bugs.webkit.org/show_bug.cgi?id=53229
15491
15492        Some inspector tests fail (Requested by yurys on #webkit).
15493
15494        * CMakeLists.txt:
15495        * GNUmakefile.am:
15496        * WebCore.exp.in:
15497        * WebCore.gypi:
15498        * WebCore.pro:
15499        * WebCore.vcproj/WebCore.vcproj:
15500        * WebCore.xcodeproj/project.pbxproj:
15501        * bindings/js/ScriptDebugServer.cpp:
15502        (WebCore::ScriptDebugServer::isDebuggerAlwaysEnabled):
15503        * bindings/js/ScriptDebugServer.h:
15504        * bindings/js/ScriptProfiler.cpp:
15505        (WebCore::ScriptProfiler::isProfilerAlwaysEnabled):
15506        * bindings/js/ScriptProfiler.h:
15507        * bindings/v8/ScriptDebugServer.cpp:
15508        (WebCore::ScriptDebugServer::isDebuggerAlwaysEnabled):
15509        * bindings/v8/ScriptDebugServer.h:
15510        * bindings/v8/ScriptProfiler.cpp:
15511        (WebCore::ScriptProfiler::isProfilerAlwaysEnabled):
15512        * bindings/v8/ScriptProfiler.h:
15513        * inspector/Inspector.idl:
15514        * inspector/InspectorAgent.cpp:
15515        (WebCore::InspectorAgent::InspectorAgent):
15516        (WebCore::InspectorAgent::disconnectFrontend):
15517        (WebCore::InspectorAgent::restoreDebugger):
15518        (WebCore::InspectorAgent::restoreProfiler):
15519        (WebCore::InspectorAgent::ensureSettingsLoaded):
15520        (WebCore::InspectorAgent::enableProfiler):
15521        (WebCore::InspectorAgent::disableProfiler):
15522        (WebCore::InspectorAgent::showAndEnableDebugger):
15523        (WebCore::InspectorAgent::enableDebugger):
15524        (WebCore::InspectorAgent::disableDebugger):
15525        * inspector/InspectorAgent.h:
15526        (WebCore::InspectorAgent::settings):
15527        * inspector/InspectorConsoleAgent.cpp:
15528        (WebCore::InspectorConsoleAgent::setMonitoringXHREnabled):
15529        (WebCore::InspectorConsoleAgent::setConsoleMessagesEnabled):
15530        * inspector/InspectorDebuggerAgent.cpp:
15531        (WebCore::InspectorDebuggerAgent::isDebuggerAlwaysEnabled):
15532        * inspector/InspectorDebuggerAgent.h:
15533        * inspector/InspectorInstrumentation.cpp:
15534        (WebCore::InspectorInstrumentation::identifierForInitialRequestImpl):
15535        (WebCore::InspectorInstrumentation::didLoadResourceFromMemoryCacheImpl):
15536        * inspector/InspectorProfilerAgent.cpp:
15537        (WebCore::InspectorProfilerAgent::InspectorProfilerAgent):
15538        (WebCore::InspectorProfilerAgent::startUserInitiatedProfiling):
15539        * inspector/InspectorSettings.cpp: Added.
15540        (WebCore::InspectorSettings::InspectorSettings):
15541        (WebCore::InspectorSettings::getBoolean):
15542        (WebCore::InspectorSettings::setBoolean):
15543        (WebCore::InspectorSettings::getLong):
15544        (WebCore::InspectorSettings::setLong):
15545        (WebCore::InspectorSettings::registerBoolean):
15546        (WebCore::InspectorSettings::registerLong):
15547        * inspector/InspectorSettings.h: Copied from Source/WebCore/bindings/v8/ScriptProfiler.h.
15548        * inspector/InspectorState.cpp:
15549        (WebCore::InspectorState::InspectorState):
15550        * inspector/InspectorState.h:
15551        * inspector/front-end/ConsoleView.js:
15552        (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher.dispatcher.monitoringXHRStateChanged):
15553        (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher):
15554        (WebInspector.ConsoleView.prototype._handleContextMenuEvent):
15555        * inspector/front-end/ProfilesPanel.js:
15556        (WebInspector.ProfilesPanel.prototype._toggleProfiling):
15557        * inspector/front-end/ScriptsPanel.js:
15558        (WebInspector.ScriptsPanel.prototype._toggleDebugging):
15559        * inspector/front-end/Settings.js:
15560        (WebInspector.Settings):
15561        * inspector/front-end/inspector.js:
15562
155632011-01-26  Philippe Normand  <pnormand@igalia.com>
15564
15565        Reviewed by Martin Robinson.
15566
15567        [GTK] LayoutTests/media/audio-mpeg4-supported.html fails
15568        https://bugs.webkit.org/show_bug.cgi?id=53125
15569
15570        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
15571        (WebCore::mimeTypeCache): Add audio/x-m4a mimetype in the cache.
15572
155732011-01-26  Yury Semikhatsky  <yurys@chromium.org>
15574
15575        Reviewed by Pavel Feldman.
15576
15577        Web Inspector: store all settings related to the agents on the frontend side
15578        https://bugs.webkit.org/show_bug.cgi?id=53174
15579
15580        * CMakeLists.txt:
15581        * GNUmakefile.am:
15582        * WebCore.exp.in:
15583        * WebCore.gypi:
15584        * WebCore.pro:
15585        * WebCore.vcproj/WebCore.vcproj:
15586        * WebCore.xcodeproj/project.pbxproj:
15587        * inspector/Inspector.idl:
15588        * inspector/InspectorAgent.cpp: profiler and debugger enablement state is now stored
15589        on the front-end side and will be pushed to the backend when the frontend is loaded.
15590        (WebCore::InspectorAgent::InspectorAgent):
15591        (WebCore::InspectorAgent::disconnectFrontend):
15592        (WebCore::InspectorAgent::restoreDebugger):
15593        (WebCore::InspectorAgent::restoreProfiler):
15594        (WebCore::InspectorAgent::enableProfiler):
15595        (WebCore::InspectorAgent::disableProfiler):
15596        (WebCore::InspectorAgent::showAndEnableDebugger):
15597        (WebCore::InspectorAgent::enableDebugger):
15598        (WebCore::InspectorAgent::disableDebugger):
15599        * inspector/InspectorAgent.h:
15600        * inspector/InspectorConsoleAgent.cpp: XHR failures will be logged to the console only
15601        if the front-end was opened during current browser session and XHR logging is turned on
15602        there.
15603        (WebCore::InspectorConsoleAgent::setMonitoringXHREnabled):
15604        (WebCore::InspectorConsoleAgent::setConsoleMessagesEnabled):
15605        * inspector/InspectorInstrumentation.cpp:
15606        (WebCore::InspectorInstrumentation::identifierForInitialRequestImpl):
15607        (WebCore::InspectorInstrumentation::didLoadResourceFromMemoryCacheImpl):
15608        * inspector/InspectorProfilerAgent.cpp:
15609        (WebCore::InspectorProfilerAgent::enable):
15610        (WebCore::InspectorProfilerAgent::startUserInitiatedProfiling):
15611        * inspector/InspectorProfilerAgent.h:
15612        * inspector/InspectorSettings.cpp: Removed.
15613        * inspector/InspectorSettings.h: Removed.
15614        * inspector/InspectorState.cpp:
15615        (WebCore::InspectorState::InspectorState):
15616        * inspector/InspectorState.h:
15617        * inspector/front-end/ConsoleView.js:
15618        (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher.dispatcher.consoleMessagesCleared):
15619        (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher):
15620        (WebInspector.ConsoleView.prototype._handleContextMenuEvent.itemAction):
15621        (WebInspector.ConsoleView.prototype._handleContextMenuEvent):
15622        * inspector/front-end/ProfilesPanel.js:
15623        (WebInspector.ProfilesPanel.prototype._toggleProfiling):
15624        * inspector/front-end/ScriptsPanel.js:
15625        (WebInspector.ScriptsPanel.prototype._toggleDebugging):
15626        * inspector/front-end/Settings.js:
15627        (WebInspector.Settings):
15628        * inspector/front-end/inspector.js:
15629
156302011-01-27  Dan Bernstein  <mitz@apple.com>
15631
15632        Reviewed by Sam Weinig.
15633
15634        REGRESSION (r76743): Uneven spacing in right-to-left justified text
15635        https://bugs.webkit.org/show_bug.cgi?id=53225
15636
15637        Fixes failure in fast/text/atsui-spacing-features.html
15638
15639        There was an inconsistency between rendering code and font code in the interpretation of
15640        'after expansion' and 'trailing expansion'. Changed all code to interpret these in terms of
15641        visual order rather than logical.
15642
15643        * platform/graphics/Font.cpp:
15644        (WebCore::Font::expansionOpportunityCount): Added a text direction parameter and changed to
15645        iterate in visual order accordingly.
15646        * platform/graphics/Font.h:
15647        * platform/graphics/WidthIterator.cpp:
15648        (WebCore::WidthIterator::WidthIterator): Pass the run direction to expansionOpportunityCount().
15649        (WebCore::WidthIterator::advance): For right-to-left runs, evaluate the trailing expansion
15650        condition with respect to the first character, which is the trailing character in visual order.
15651        * platform/graphics/mac/ComplexTextController.cpp:
15652        (WebCore::ComplexTextController::ComplexTextController): Pass the run direction to
15653        expansionOpportunityCount().
15654        * rendering/RenderBlockLineLayout.cpp:
15655        (WebCore::RenderBlock::computeInlineDirectionPositionsForLine): Ditto.
15656
156572011-01-26  Adam Roben  <aroben@apple.com>
15658
15659        Don't create the Direct3D device before it's first needed
15660
15661        We only need the device once we decide to render. There's no point in creating it before
15662        then.
15663
15664        Reviewed by Sam Weinig.
15665
15666        * platform/graphics/ca/win/CACFLayerTreeHost.cpp:
15667        (WebCore::CACFLayerTreeHost::setWindow): Removed the call to createRenderer() from here.
15668        We already have code to create it when we first try to draw.
15669        (WebCore::CACFLayerTreeHost::createRenderer): Flush the context after we set our layer's
15670        bounds so that the bounds will take effect the next time we render (which could be just
15671        after this function returns).
15672
156732011-01-26  Adam Roben  <aroben@apple.com>
15674
15675        Add assertions that CACFLayerTreeHost gains and loses an HWND only once
15676
15677        CACFLayerTreeHost doesn't support any other use pattern.
15678
15679        Reviewed by Sam Weinig.
15680
15681        * platform/graphics/ca/win/CACFLayerTreeHost.cpp:
15682        (WebCore::CACFLayerTreeHost::CACFLayerTreeHost): Initialize new member.
15683        (WebCore::CACFLayerTreeHost::setWindow): Assert that we transition from not having a window,
15684        to having a window, to not having a window just once over the lifetime of this object.
15685
15686        * platform/graphics/ca/win/CACFLayerTreeHost.h: Added m_state.
15687
156882011-01-26  Adam Roben  <aroben@apple.com>
15689
15690        Notify layers that their animations have started when we flush the context, not when we
15691        render
15692
15693        r76372 separated context flushing from rendering, but this bit of code got left behind.
15694
15695        Reviewed by Sam Weinig.
15696
15697        * platform/graphics/ca/win/CACFLayerTreeHost.cpp:
15698        (WebCore::CACFLayerTreeHost::render): Moved code to notify the layers from here to
15699        notifyAnimationsStarted.
15700        (WebCore::CACFLayerTreeHost::flushPendingLayerChangesNow): Added a call to
15701        notifyAnimationsStarted after we flush the context.
15702        (WebCore::CACFLayerTreeHost::notifyAnimationsStarted): Added. Code came from render. Changed
15703        to call PlatformCALayer::animationStarted rather than calling through to the client
15704        directly.
15705
15706        * platform/graphics/ca/win/CACFLayerTreeHost.h: Added notifyAniamtionsStarted.
15707
157082011-01-26  Adam Roben  <aroben@apple.com>
15709
15710        Small cleanup in MediaPlayerPrivateFullscreenWindow
15711
15712        Reviewed by Sam Weinig.
15713
15714        * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp:
15715        (WebCore::MediaPlayerPrivateFullscreenWindow::~MediaPlayerPrivateFullscreenWindow): Moved
15716        code here from close(), since this was the only place that called it after the following
15717        change to createWindow.
15718        (WebCore::MediaPlayerPrivateFullscreenWindow::createWindow): Replaced code that handled the
15719        case where we had already created the window with an assertion that we have not already done
15720        so. Our single caller (FullscreenVideoController) did not require this behavior.
15721
15722        * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.h: Removed layerView.
15723
157242011-01-26  Sam Weinig  <sam@webkit.org>
15725
15726        Reviewed by Adam Roben.
15727
15728        Move ScrollView scroll wheel code to ScrollAnimator.
15729
15730        * platform/ScrollAnimator.cpp:
15731        (WebCore::ScrollAnimator::handleWheelEvent):
15732        * platform/ScrollAnimator.h:
15733        Moved implementation of handleWheelEvent from ScrollView::wheelEvent.
15734
15735        * platform/ScrollView.cpp:
15736        (WebCore::ScrollView::wheelEvent):
15737        Call down to the ScrollableArea.
15738
15739        * platform/ScrollableArea.cpp:
15740        (WebCore::ScrollableArea::handleWheelEvent):
15741        Call down to the ScrollAnimator.
15742
15743        * platform/ScrollableArea.h:
15744        (WebCore::ScrollableArea::scrollPosition):
15745        (WebCore::ScrollableArea::minimumScrollPosition):
15746        (WebCore::ScrollableArea::maximumScrollPosition):
15747        (WebCore::ScrollableArea::visibleContentRect):
15748        (WebCore::ScrollableArea::visibleHeight):
15749        (WebCore::ScrollableArea::visibleWidth):
15750        Add functions needed to implement wheel event in the animator.
15751
157522011-01-26  David Kilzer  <ddkilzer@apple.com>
15753
15754        <http://webkit.org/b/53192> Add experimental support for HTTP pipelining in CFNetwork
15755        <rdar://problem/8821760>
15756
15757        Reviewed by Antti Koivisto.
15758
15759        This adds support for HTTP pipelining in CFNetwork, but does not
15760        enable it.  To enable it post-SnowLeopard, use this command:
15761
15762            defaults write BUNDLE.ID WebKitEnableHTTPPipelining -bool YES
15763
15764        Once enabled, it is possible to force the same load priority
15765        (high) to be sent to CFNetwork to allow WebCore to handle the
15766        scheduling:
15767
15768            defaults write BUNDLE.ID WebKitForceHTTPPipeliningPriorityHigh -bool YES
15769
15770        * WebCore.exp.in: Export _wkGetHTTPPipeliningPriority and
15771        _wkSetHTTPPipeliningPriority.
15772
15773        * loader/DocumentThreadableLoader.cpp:
15774        (WebCore::DocumentThreadableLoader::makeCrossOriginAccessRequestWithPreflight):
15775        Copy the priority to preflightRequest.
15776
15777        * loader/ResourceLoadScheduler.cpp:
15778        (WebCore::ResourceLoadScheduler::scheduleLoad): Refactored code
15779        at the end of the method to use an early return.
15780
15781        * loader/cache/CachedResourceRequest.cpp:
15782        (WebCore::CachedResourceRequest::load): Set the priority on the
15783        ResourceRequest object based on the priority of the
15784        CachedResourceRequest before calling
15785        ResourceLoadScheduler::scheduleSubresourceLoad().
15786
15787        * loader/icon/IconLoader.cpp:
15788        (WebCore::IconLoader::startLoading): Create a ResourceRequest
15789        object and set its priority to ResourceLoadPriorityLow before
15790        passing it to ResourceLoadScheduler::scheduleSubresourceLoad().
15791
15792        * platform/mac/WebCoreSystemInterface.h:
15793        (wkGetHTTPPipeliningPriority): Added.
15794        (wkSetHTTPPipeliningPriority): Added.
15795        * platform/mac/WebCoreSystemInterface.mm:
15796        (wkGetHTTPPipeliningPriority): Added.
15797        (wkSetHTTPPipeliningPriority): Added.
15798
15799        * platform/network/ResourceRequestBase.cpp:
15800        (WebCore::ResourceRequestBase::adopt): Set m_priority when
15801        adopting a CrossThreadResourceRequestData.
15802        (WebCore::ResourceRequestBase::copyData): Set m_priority when
15803        creating a CrossThreadResourceRequestData.
15804        (WebCore::ResourceRequestBase::priority): Added.
15805        (WebCore::ResourceRequestBase::setPriority): Added.
15806        (WebCore::equalIgnoringHeaderFields): Priorities must match when
15807        comparing two ResourceRequest objects.
15808
15809        * platform/network/ResourceRequestBase.h:
15810        (WebCore::ResourceRequestBase::ResourceRequestBase): Set default
15811        priority of new objects to ResourceLoadPriorityLow.
15812        (WebCore::ResourceRequestBase::priority): Added declaration.
15813        (WebCore::ResourceRequestBase::setPriority): Added declaration.
15814        (WebCore::isHTTPPipeliningEnabled): Added.
15815        (WebCore::shouldUseHTTPPipeliningPriority): Added.
15816
15817        * platform/network/cf/ResourceRequestCFNet.cpp: Updated so that
15818        Mac OS X and Windows share code.
15819        (WebCore::initializeMaximumHTTPConnectionCountPerHost): Always
15820        set the HTTP connection count per host, but return an
15821        'unlimited' value when using HTTP pipelining.  This method used
15822        to be defined in ResourceRequestMac.mm for Mac OS X.
15823        (WebCore::readBooleanPreference): Added.  Helper method for
15824        reading boolean user defaults.
15825        (WebCore::isHTTPPipeliningEnabled): Returns value of user
15826        default key WebKitEnableHTTPPipelining, or false if not set.
15827        (WebCore::shouldUseHTTPPipeliningPriority): Returns value of
15828        user default key WebKitForceHTTPPipeliningPriorityHigh, or false
15829        if not set.
15830        * platform/network/cf/ResourceRequestCFNet.h: Updated so that
15831        Mac OS X and Windows share code.  Fixed indentation.
15832        (WebCore::mapHTTPPipeliningPriorityToResourceLoadPriority): Added.
15833        (WebCore::mapResourceLoadPriorityToHTTPPipeliningPriority): Added.
15834
15835        * platform/network/mac/ResourceRequestMac.mm:
15836        (WebCore::ResourceRequest::doUpdatePlatformRequest): Update
15837        HTTP pipelining priority on NSMutableFURLRequest object.
15838        (WebCore::ResourceRequest::doUpdateResourceRequest): Update
15839        m_priority from the NSURLRequest object.
15840        (WebCore::initializeMaximumHTTPConnectionCountPerHost): Removed.
15841        Code is now shared with Windows in ResourceRequestCFNet.cpp.
15842
158432011-01-26  Beth Dakin  <bdakin@apple.com>
15844
15845        Reviewed by Darin Adler.
15846
15847        Fix for <rdar://problem/8895140> Adopt WKScrollbar metrics 
15848        when using WKScrollbars.
15849
15850        New WebKitSystemInterface Functionality.
15851        * WebCore.exp.in:
15852        * platform/mac/WebCoreSystemInterface.h:
15853        * platform/mac/WebCoreSystemInterface.mm:
15854
15855        Some of the terrible static arrays are now only needed in the 
15856        old non-WK code, so they are if-def'd now.
15857        * platform/mac/ScrollbarThemeMac.mm:
15858        
15859        Just patching this function in a better way than I did
15860        before.
15861        (WebCore::updateArrowPlacement):
15862        
15863        Call into WK for the right values.
15864        (WebCore::ScrollbarThemeMac::scrollbarThickness):
15865        (WebCore::ScrollbarThemeMac::hasThumb):
15866        (WebCore::ScrollbarThemeMac::minimumThumbLength):
15867        
15868        Return false if there are no buttons.
15869        (WebCore::ScrollbarThemeMac::hasButtons):
15870
15871        Return an empty IntRect if there are not buttons.
15872        (WebCore::buttonRepaintRect):
15873
158742011-01-26  Sam Weinig  <sam@webkit.org>
15875
15876        Reviewed by Maciej Stachowiak.
15877
15878        Add events to represent the start/end of a gesture scroll
15879        https://bugs.webkit.org/show_bug.cgi?id=53215
15880
15881        * WebCore.exp.in: 
15882        Add new file.
15883
15884        * WebCore.xcodeproj/project.pbxproj:
15885        Add new file.
15886
15887        * page/EventHandler.cpp:
15888        (WebCore::EventHandler::handleGestureEvent):
15889        * page/EventHandler.h:
15890        Add entry point for handling gesture events.
15891
15892        * platform/PlatformGestureEvent.h: Added.
15893        (WebCore::PlatformGestureEvent::PlatformGestureEvent):
15894        (WebCore::PlatformGestureEvent::type):
15895        (WebCore::PlatformGestureEvent::position):
15896        (WebCore::PlatformGestureEvent::globalPosition):
15897        (WebCore::PlatformGestureEvent::timestamp):
15898        Add platform agnostic representation of a gesture event.
15899
159002011-01-26  Dan Bernstein  <mitz@apple.com>
15901
15902        Reviewed by Dave Hyatt.
15903
15904        <rdar://problem/8446709> Allow inter-ideograph justification for CJK
15905        https://bugs.webkit.org/show_bug.cgi?id=53184
15906
15907        Tests: fast/text/justify-ideograph-complex.html
15908               fast/text/justify-ideograph-simple.html
15909               fast/text/justify-ideograph-vertical.html
15910
15911        * html/canvas/CanvasRenderingContext2D.cpp:
15912        (WebCore::CanvasRenderingContext2D::drawTextInternal): Corrected the type of the third parameter
15913        passed to the TextRun constructor and added the trailingExpansionBehavior parameter.
15914        * platform/graphics/Font.cpp:
15915        (WebCore::Font::expansionOpportunityCount): Added. Returns the number of expansion opportunities
15916        for text justification. On entry, isAfterExpansion says whether an expansion opportunity exists
15917        before the first character. On return, isAfterExpansion says whether an expansion opportunity
15918        exists after the last character.
15919        * platform/graphics/Font.h: 
15920        * platform/graphics/GlyphBuffer.h:
15921        (WebCore::GlyphBuffer::expandLastAdvance): Added.
15922        * platform/graphics/TextRun.h:
15923        (WebCore::TextRun::TextRun): Added a TrailingExpansionBehavior parameter to the constructors.
15924        Renamed padding to expansion.
15925        (WebCore::TextRun::expansion): Renamed padding() to this.
15926        (WebCore::TextRun::allowsTrailingExpansion): Added this accessor.
15927        * platform/graphics/WidthIterator.cpp:
15928        (WebCore::WidthIterator::WidthIterator): Initialize m_isAfterExpansion. Use Font::expansionOpportunityCount()
15929        and adjust the count if it includes a trailing expansion opportunity but the run disallows trailing
15930        expansion.
15931        (WebCore::WidthIterator::advance): Apply expansion before and after CJK ideographs.
15932        (WebCore::WidthIterator::advanceOneCharacter): Changed to not clear the GlyphBuffer so that advance()
15933        can expand the last advance if it is followed by a CJK ideograph.
15934        * platform/graphics/WidthIterator.h: Renamed m_padding to m_expansion and m_padPerSpace
15935        to m_expansionPerOpportunity.
15936        * platform/graphics/chromium/FontChromiumWin.cpp:
15937        (WebCore::Font::canExpandAroundIdeographsInComplexText): Added.
15938        * platform/graphics/chromium/FontLinux.cpp:
15939        (WebCore::Font::canExpandAroundIdeographsInComplexText): Added.
15940        * platform/graphics/efl/FontEfl.cpp:
15941        (WebCore::Font::canExpandAroundIdeographsInComplexText): Added.
15942        * platform/graphics/gtk/FontGtk.cpp:
15943        (WebCore::Font::canExpandAroundIdeographsInComplexText): Added.
15944        * platform/graphics/haiku/FontHaiku.cpp:
15945        (WebCore::Font::canExpandAroundIdeographsInComplexText): Added.
15946        * platform/graphics/mac/ComplexTextController.cpp:
15947        (WebCore::ComplexTextController::ComplexTextController): Initialize m_isAfterExpansion. Use
15948        Font::expansionOpportunityCount() and adjust the count if it includes a trailing expansion
15949        opportunity but the run disallows trailing expansion.
15950        (WebCore::ComplexTextController::adjustGlyphsAndAdvances): Moved the definition and initialization
15951        of hasExtraSpacing outside the loop. Apply expansion before and after CJK ideographs.
15952        * platform/graphics/mac/ComplexTextController.h: Renamed m_padding to m_expansion and m_padPerSpace
15953        to m_expansionPerOpportunity.
15954        * platform/graphics/mac/FontMac.mm:
15955        (WebCore::Font::canExpandAroundIdeographsInComplexText): Added.
15956        * platform/graphics/qt/FontQt.cpp:
15957        (WebCore::Font::canExpandAroundIdeographsInComplexText): Added.
15958        * platform/graphics/win/FontWin.cpp:
15959        (WebCore::Font::canExpandAroundIdeographsInComplexText): Added.
15960        * platform/graphics/win/UniscribeController.cpp:
15961        (WebCore::UniscribeController::UniscribeController): Updated for rename.
15962        * platform/graphics/wince/FontWinCE.cpp:
15963        (WebCore::Font::canExpandAroundIdeographsInComplexText): Added.
15964        * platform/graphics/wx/FontWx.cpp:
15965        (WebCore::Font::canExpandAroundIdeographsInComplexText): Added.
15966        * rendering/EllipsisBox.cpp:
15967        (WebCore::EllipsisBox::paint): Pass a TrailingExpansionBehavior to the TextRun constructor.
15968        (WebCore::EllipsisBox::selectionRect): Ditto.
15969        (WebCore::EllipsisBox::paintSelection): Ditto.
15970        * rendering/InlineBox.h:
15971        (WebCore::InlineBox::InlineBox): Renamed m_toAdd to m_expansion.
15972        (WebCore::InlineBox::expansion): Renamed toAdd() to this.
15973        * rendering/InlineTextBox.cpp:
15974        (WebCore::InlineTextBox::selectionRect): Pass a TrailingExpansionBehavior to the TextRun constructor.
15975        (WebCore::InlineTextBox::paint): Ditto.
15976        (WebCore::InlineTextBox::paintSelection): Ditto.
15977        (WebCore::InlineTextBox::paintCompositionBackground): Ditto.
15978        (WebCore::InlineTextBox::paintSpellingOrGrammarMarker): Ditto.
15979        (WebCore::InlineTextBox::paintTextMatchMarker): Ditto.
15980        (WebCore::InlineTextBox::computeRectForReplacementMarker): Ditto.
15981        (WebCore::InlineTextBox::offsetForPosition): Ditto.
15982        (WebCore::InlineTextBox::positionForOffset): Ditto.
15983        * rendering/InlineTextBox.h:
15984        (WebCore::InlineTextBox::setExpansion): Renamed setSpaceAdd() to this.
15985        (WebCore::InlineTextBox::trailingExpansionBehavior): Added. Trailing expansion is allowed if this
15986        is not the last leaf box on the line.
15987        * rendering/RenderBlockLineLayout.cpp:
15988        (WebCore::RenderBlock::computeInlineDirectionPositionsForLine): Keep expansion opportunity counts
15989        in a vector instead of computing them twice. Discard the trailing expansion opportunity in the
15990        last text box.
15991        * rendering/RenderFileUploadControl.cpp:
15992        (WebCore::RenderFileUploadControl::paintObject): Pass a TrailingExpansionBehavior to the TextRun constructor.
15993        (WebCore::RenderFileUploadControl::computePreferredLogicalWidths): Ditto.
15994        * rendering/RenderListBox.cpp:
15995        (WebCore::RenderListBox::updateFromElement): Ditto.
15996        (WebCore::RenderListBox::paintItemForeground): Ditto. Also corrected the type of the second parameter.
15997        * rendering/RenderTextControl.cpp:
15998        (WebCore::RenderTextControl::getAvgCharWidth): Ditto.
15999        (WebCore::RenderTextControl::paintPlaceholder): Ditto.
16000        * rendering/svg/SVGInlineTextBox.cpp:
16001        (WebCore::SVGInlineTextBox::constructTextRun): Ditto.
16002
160032011-01-26  Andy Estes  <aestes@apple.com>
16004
16005        Rubber-stamped by Darin Adler.
16006
16007        Inline HTMLObjectElement::hasValidClassId().
16008
16009        * html/HTMLObjectElement.cpp:
16010        (WebCore::HTMLObjectElement::hasValidClassId):
16011
160122011-01-26  Evan Martin  <evan@chromium.org>
16013
16014        Reviewed by Tony Chang.
16015
16016        [chromium] crash on getBoundingClientRect in complex text
16017        https://bugs.webkit.org/show_bug.cgi?id=53199
16018
16019        Use the correct array bound; we want the number of characters processed by
16020        the shaper, not the longest continuous script run length.
16021
16022        Test: platform/chromium-linux/fast/text/international/complex-text-rectangle.html
16023
16024        * platform/graphics/chromium/ComplexTextControllerLinux.cpp:
16025        (WebCore::ComplexTextController::nextScriptRun):
16026        * platform/graphics/chromium/ComplexTextControllerLinux.h:
16027        (WebCore::ComplexTextController::numCodePoints):
16028
160292011-01-26  Emil A Eklund  <eae@chromium.org>
16030
16031        Reviewed by Alexey Proskuryakov.
16032
16033        Remove cached document reference from CSSStyleSheet and XSLStyleSheet.
16034        https://bugs.webkit.org/show_bug.cgi?id=52084
16035
16036        Test: fast/dom/css-delete-doc.html
16037
16038        * css/CSSMediaRule.cpp:
16039        (WebCore::CSSMediaRule::insertRule):
16040        (WebCore::CSSMediaRule::deleteRule):
16041        * css/CSSStyleSheet.cpp:
16042        (WebCore::CSSStyleSheet::CSSStyleSheet):
16043        (WebCore::CSSStyleSheet::document):
16044        * css/CSSStyleSheet.h:
16045        * xml/XSLStyleSheet.h:
16046        (WebCore::XSLStyleSheet::parentStyleSheet):
16047        * xml/XSLStyleSheetLibxslt.cpp:
16048        (WebCore::XSLStyleSheet::XSLStyleSheet):
16049        (WebCore::XSLStyleSheet::cachedResourceLoader):
16050        (WebCore::XSLStyleSheet::setParentStyleSheet):
16051        (WebCore::XSLStyleSheet::ownerDocument):
16052        * xml/XSLStyleSheetQt.cpp:
16053        (WebCore::XSLStyleSheet::XSLStyleSheet):
16054        (WebCore::XSLStyleSheet::cachedResourceLoader):
16055        (WebCore::XSLStyleSheet::ownerDocument):
16056
160572011-01-25  Dimitri Glazkov  <dglazkov@chromium.org>
16058
16059        Reviewed by Kent Tamura.
16060
16061        Reduce ref-count churn in shadowPseudoId.
16062        https://bugs.webkit.org/show_bug.cgi?id=53136
16063
16064        Refactoring, so no new tests.
16065
16066        * dom/Element.h:
16067        (WebCore::Element::shadowPseudoId): Changed signature to use const AtomicString&
16068        * html/ValidationMessage.cpp:
16069        (WebCore::ElementWithPseudoId::shadowPseudoId): Ditto.
16070        * html/shadow/SliderThumbElement.cpp:
16071        (WebCore::SliderThumbElement::shadowPseudoId): Ditto, plus moved from the header file.
16072        * html/shadow/SliderThumbElement.h: Ditto.
16073        * rendering/MediaControlElements.cpp:
16074        (WebCore::MediaControlMuteButtonElement::shadowPseudoId): Ditto.
16075        (WebCore::MediaControlVolumeSliderMuteButtonElement::shadowPseudoId): Ditto.
16076        (WebCore::MediaControlPlayButtonElement::shadowPseudoId): Ditto.
16077        (WebCore::MediaControlSeekForwardButtonElement::shadowPseudoId): Ditto.
16078        (WebCore::MediaControlSeekBackButtonElement::shadowPseudoId): Ditto.
16079        (WebCore::MediaControlRewindButtonElement::shadowPseudoId): Ditto.
16080        (WebCore::MediaControlReturnToRealtimeButtonElement::shadowPseudoId): Ditto.
16081        (WebCore::MediaControlToggleClosedCaptionsButtonElement::shadowPseudoId): Ditto.
16082        (WebCore::MediaControlTimelineElement::shadowPseudoId): Ditto.
16083        (WebCore::MediaControlVolumeSliderElement::shadowPseudoId): Ditto.
16084        (WebCore::MediaControlFullscreenButtonElement::shadowPseudoId): Ditto.
16085        * rendering/MediaControlElements.h: Ditto.
16086
160872011-01-26  Dave Hyatt  <hyatt@apple.com>
16088
16089        Reviewed by Dan Bernstein.
16090
16091        https://bugs.webkit.org/show_bug.cgi?id=46421, make multi-column layout work with vertical text.
16092
16093        Added new tests in fast/multicol/vertical-lr and fast/multicol/vertical-rl.
16094
16095        * css/html.css:
16096        Update p, blockquote and h1-h6 to respect directionality so that column layout tests that use those
16097        elements work properly.
16098
16099        * rendering/InlineFlowBox.cpp:
16100        (WebCore::InlineFlowBox::placeBoxesInBlockDirection):
16101        Fix a flipping bug with the computation of lineTopIncludingMargins where it could be incorrectly shrunk
16102        in some cases (causing lines to all stack on top of one another).
16103
16104        * rendering/InlineTextBox.h:
16105        (WebCore::InlineTextBox::calculateBoundaries):
16106        Fix calculateBoundaries to be physical rather than logical.
16107
16108        * rendering/LayoutState.cpp:
16109        (WebCore::LayoutState::addForcedColumnBreak):
16110        * rendering/LayoutState.h:
16111        Rename childY to childLogicalOffset.
16112
16113        * rendering/RenderBlock.cpp:
16114        (WebCore::RenderBlock::layoutBlock):
16115        (WebCore::RenderBlock::addOverflowFromChildren):
16116        (WebCore::RenderBlock::addOverflowFromFloats):
16117        (WebCore::RenderBlock::collapseMargins):
16118        (WebCore::RenderBlock::estimateLogicalTopPosition):
16119        (WebCore::RenderBlock::layoutBlockChild):
16120        (WebCore::RenderBlock::markForPaginationRelayoutIfNeeded):
16121        (WebCore::RenderBlock::paintColumnRules):
16122        (WebCore::RenderBlock::paintColumnContents):
16123        (WebCore::RenderBlock::paintFloats):
16124        (WebCore::RenderBlock::selectionGaps):
16125        (WebCore::RenderBlock::removeFloatingObjectsBelow):
16126        (WebCore::RenderBlock::addOverhangingFloats):
16127        (WebCore::RenderBlock::hitTestFloats):
16128        (WebCore::RenderBlock::hitTestColumns):
16129        (WebCore::RenderBlock::calcColumnWidth):
16130        (WebCore::RenderBlock::desiredColumnWidth):
16131        (WebCore::RenderBlock::columnRectAt):
16132        (WebCore::RenderBlock::layoutColumns):
16133        (WebCore::RenderBlock::adjustPointToColumnContents):
16134        (WebCore::RenderBlock::adjustRectForColumns):
16135        (WebCore::RenderBlock::flipForWritingModeIncludingColumns):
16136        (WebCore::RenderBlock::adjustForColumns):
16137        (WebCore::RenderBlock::adjustForBorderFit):
16138        (WebCore::RenderBlock::nextPageLogicalTop):
16139        (WebCore::RenderBlock::applyBeforeBreak):
16140        (WebCore::RenderBlock::applyAfterBreak):
16141        (WebCore::RenderBlock::adjustForUnsplittableChild):
16142        (WebCore::RenderBlock::adjustLinePositionForPagination):
16143        * rendering/RenderBlock.h:
16144        (WebCore::RenderBlock::logicalRightOffsetForContent):
16145        (WebCore::RenderBlock::logicalLeftOffsetForContent):
16146        (WebCore::RenderBlock::leftForFloatIncludingMargin):
16147        (WebCore::RenderBlock::topForFloatIncludingMargin):
16148        * rendering/RenderBlockLineLayout.cpp:
16149        (WebCore::RenderBlock::layoutInlineChildren):
16150        (WebCore::RenderBlock::determineStartPosition):
16151        Reworking of all the RenderBlock column functions to support flipping and vertical modes.
16152
16153        * rendering/RenderBox.cpp:
16154        (WebCore::RenderBox::offsetFromContainer):
16155        (WebCore::RenderBox::flipForWritingModeIncludingColumns):
16156        Patch offsetFromContainer to be aware of flipped block writing modes when dealing with column layouts.
16157
16158        * rendering/RenderBox.h:
16159        (WebCore::RenderBox::clientLogicalBottom):
16160        Fix a bug in clientLogicalBottom where it didn't add in the right border/padding.
16161        
16162        * rendering/RenderFlexibleBox.cpp:
16163        (WebCore::RenderFlexibleBox::layoutBlock):
16164        Better terminology for pagination.
16165
16166        * rendering/RenderInline.cpp:
16167        (WebCore::RenderInline::offsetFromContainer):
16168        (WebCore::RenderInline::mapLocalToContainer):
16169        * rendering/RenderLayer.cpp:
16170        (WebCore::RenderLayer::paintChildLayerIntoColumns):
16171        (WebCore::RenderLayer::hitTestChildLayerColumns):
16172        (WebCore::RenderLayer::localBoundingBox):
16173        (WebCore::RenderLayer::boundingBox):
16174        Patch painting in RenderLayers to be vertical-text-aware.
16175    
16176        * rendering/RenderObject.cpp:
16177        (WebCore::RenderObject::mapLocalToContainer):
16178        Add code to be flipped block-aware with columns.
16179
16180        * rendering/RenderTable.cpp:
16181        (WebCore::RenderTable::layout):
16182        * rendering/RenderTableRow.cpp:
16183        (WebCore::RenderTableRow::layout):
16184        * rendering/RenderTableSection.cpp:
16185        (WebCore::RenderTableSection::layoutRows):
16186        Fix pagination to use better terminology.
16187        
16188        * rendering/RenderText.cpp:
16189        (WebCore::RenderText::absoluteQuads):
16190        (WebCore::RenderText::absoluteQuadsForRange):
16191        Fix a bug where vertical text wasn't taken into account.
16192
161932011-01-26  Dimitri Glazkov  <dglazkov@chromium.org>
16194
16195        Unreviewed, rolling out r76719.
16196        http://trac.webkit.org/changeset/76719
16197        https://bugs.webkit.org/show_bug.cgi?id=53122
16198
16199        Broke a bunch of media tests in Chromium/Qt/GTK.
16200
162012011-01-26  Tony Chang  <tony@chromium.org>
16202
16203        Reviewed by Ryosuke Niwa.
16204
16205        [gtk] strip NUL characters when copying text/html on GTK+
16206        https://bugs.webkit.org/show_bug.cgi?id=52508
16207
16208        Putting NUL characters in the text/html clipboard doesn't work in
16209        WebKit GTK+ (the pasted value is truncated at the NUL).  Since we're
16210        already stripping this character for plain text (for Windows), strip
16211        it in text/html too.
16212
16213        * editing/MarkupAccumulator.h: mark function as virtual
16214        * editing/markup.cpp:
16215        (WebCore::StyledMarkupAccumulator::appendString):
16216        (WebCore::StyledMarkupAccumulator::takeResults): strip nulls
16217
162182011-01-26  Mario Sanchez Prada  <msanchez@igalia.com>
16219
16220        Reviewed by Martin Robinson.
16221
16222        [GTK] Reliable crash with getTextAtOffset()
16223        https://bugs.webkit.org/show_bug.cgi?id=53131
16224
16225        Properly calculate length in bytes for a UTF8 substring.
16226
16227        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
16228        (utf8Substr): Use character instead of bytes as units to
16229        calculate the length in bytes for the UTF8 string.
16230
162312011-01-25  Dimitri Glazkov  <dglazkov@chromium.org>
16232
16233        Reviewed by Kent Tamura.
16234
16235        Change HTMLInputElement-derived parts of media element shadow DOM to use shadowPseudoId.
16236        https://bugs.webkit.org/show_bug.cgi?id=53122
16237
16238        This is the first step in converting HTMLMediaElement to the new shadow DOM.
16239
16240        Should not regress any existing tests. No observable change in behavior.
16241
16242        * css/CSSSelector.cpp:
16243        (WebCore::CSSSelector::pseudoId): Removed now-unnecessary hard-coded pseudo-element selectors.
16244        (WebCore::nameToPseudoTypeMap): Ditto.
16245        (WebCore::CSSSelector::extractPseudoType): Ditto.
16246        * css/CSSSelector.h: Ditto.
16247        * css/mediaControls.css: Added proper initial values, now that elements use the proper selector pipeline.
16248        * rendering/MediaControlElements.cpp:
16249        (WebCore::MediaControlInputElement::MediaControlInputElement): Removed the switch statement,
16250            which is now replaced with virtual shadowPseudoId on each corresponding class.
16251        (WebCore::MediaControlInputElement::styleForElement): Changed to use element pipeline.
16252        (WebCore::MediaControlMuteButtonElement::MediaControlMuteButtonElement): Changed to set
16253            display type in constructor.
16254        (WebCore::MediaControlMuteButtonElement::create): Changed to not take PseudoId as
16255            constructor argument.
16256        (WebCore::MediaControlMuteButtonElement::shadowPseudoId): Added.
16257        (WebCore::MediaControlVolumeSliderMuteButtonElement::MediaControlVolumeSliderMuteButtonElement): Added
16258            to disambiguate from the MediaControlMuteButtonElement.
16259        (WebCore::MediaControlVolumeSliderMuteButtonElement::create): Added.
16260        (WebCore::MediaControlVolumeSliderMuteButtonElement::shadowPseudoId): Added.
16261        (WebCore::MediaControlPlayButtonElement::MediaControlPlayButtonElement): Changed to not take PseudoId as
16262            constructor argument.
16263        (WebCore::MediaControlPlayButtonElement::shadowPseudoId): Added.
16264        (WebCore::MediaControlSeekButtonElement::MediaControlSeekButtonElement): Changed to not take PseudoId as
16265            constructor argument.
16266        (WebCore::MediaControlSeekForwardButtonElement::MediaControlSeekForwardButtonElement): Added.
16267        (WebCore::MediaControlSeekForwardButtonElement::create): Added.
16268        (WebCore::MediaControlSeekForwardButtonElement::shadowPseudoId): Added.
16269        (WebCore::MediaControlSeekBackButtonElement::MediaControlSeekBackButtonElement): Added.
16270        (WebCore::MediaControlSeekBackButtonElement::create): Added.
16271        (WebCore::MediaControlSeekBackButtonElement::shadowPseudoId): Added.
16272        (WebCore::MediaControlRewindButtonElement::MediaControlRewindButtonElement): Added.
16273        (WebCore::MediaControlRewindButtonElement::shadowPseudoId): Added.
16274        (WebCore::MediaControlReturnToRealtimeButtonElement::MediaControlReturnToRealtimeButtonElement): Changed to not take PseudoId as
16275            constructor argument.
16276        (WebCore::MediaControlReturnToRealtimeButtonElement::shadowPseudoId): Added.
16277        (WebCore::MediaControlToggleClosedCaptionsButtonElement::MediaControlToggleClosedCaptionsButtonElement): Changed to not take PseudoId as
16278            constructor argument.
16279        (WebCore::MediaControlToggleClosedCaptionsButtonElement::shadowPseudoId): Added.
16280        (WebCore::MediaControlTimelineElement::MediaControlTimelineElement): Changed to not take PseudoId as
16281            constructor argument.
16282        (WebCore::MediaControlTimelineElement::shadowPseudoId): Added.
16283        (WebCore::MediaControlVolumeSliderElement::MediaControlVolumeSliderElement): Changed to not take PseudoId as
16284            constructor argument.
16285        (WebCore::MediaControlVolumeSliderElement::shadowPseudoId): Added.
16286        (WebCore::MediaControlFullscreenButtonElement::MediaControlFullscreenButtonElement): Changed to not take PseudoId as
16287            constructor argument.
16288        (WebCore::MediaControlFullscreenButtonElement::shadowPseudoId): Added.
16289        * rendering/MediaControlElements.h:
16290        (WebCore::MediaControlSeekForwardButtonElement::isForwardButton): Added.
16291        (WebCore::MediaControlSeekBackButtonElement::isForwardButton): Added.
16292        * rendering/RenderMedia.cpp:
16293        (WebCore::RenderMedia::createMuteButton): Changed to use new constructor.
16294        (WebCore::RenderMedia::createSeekBackButton): Ditto.
16295        (WebCore::RenderMedia::createSeekForwardButton): Ditto.
16296        (WebCore::RenderMedia::createVolumeSliderMuteButton): Ditto.
16297        * rendering/style/RenderStyleConstants.h: Removed constants that are no longer used.
16298
162992011-01-26  Kenneth Russell  <kbr@google.com>
16300
16301        Reviewed by James Robinson.
16302
16303        Fix multisampling support in DrawingBuffer
16304        https://bugs.webkit.org/show_bug.cgi?id=53154
16305
16306        In DrawingBuffer's multisampling code path, fixed enum usage and a
16307        bug where it would incorrectly redefine the depth and stencil
16308        buffers. Hooked up multisampling code path in Chromium port.
16309
16310        Tested manually with some accelerated 2D canvas content.
16311        Multisampling isn't being switched on for the accelerated 2D
16312        canvas at the current time because it will increase fill rate
16313        requirements and cause a large number of rebaselines.
16314
16315        * platform/graphics/Extensions3D.h:
16316        * platform/graphics/chromium/DrawingBufferChromium.cpp:
16317        (WebCore::DrawingBuffer::publishToPlatformLayer):
16318        * platform/graphics/chromium/Extensions3DChromium.h:
16319        * platform/graphics/gpu/DrawingBuffer.cpp:
16320        (WebCore::DrawingBuffer::create):
16321        (WebCore::DrawingBuffer::reset):
16322        * platform/graphics/opengl/Extensions3DOpenGL.cpp:
16323        (WebCore::Extensions3DOpenGL::supports):
16324
163252011-01-26  Tony Chang  <tony@chromium.org>
16326
16327        Unreviewed.
16328
16329        [chromium] revert r68310 because of race conditions detected by tsans
16330        https://bugs.webkit.org/show_bug.cgi?id=53185
16331
16332        Causes stability problems for Chromium, http://crbug.com/70589
16333
16334        * platform/sql/chromium/SQLiteFileSystemChromiumPosix.cpp:
16335        (WebCore::SQLiteFileSystem::registerSQLiteVFS):
16336
163372011-01-26  Justin Schuh  <jschuh@chromium.org>
16338
16339        Reviewed by Adam Barth.
16340
16341        Make fireEventsAndUpdateStyle use stack local vectors. 
16342        https://bugs.webkit.org/show_bug.cgi?id=46760
16343
16344        Test: animations/animation-add-events-in-handler.html
16345
16346        * page/animation/AnimationController.cpp:
16347        (WebCore::AnimationControllerPrivate::fireEventsAndUpdateStyle):
16348
163492011-01-26  Nate Chapin  <japhet@chromium.org>
16350
16351        Reviewed by Adam Barth.
16352
16353        Remove m_URL from FrameLoader and depend on Document::url()
16354        instead. FrameLoader::url() will be removed in a followup patch.
16355        https://bugs.webkit.org/show_bug.cgi?id=41165
16356
16357        Refactor only, no new tests.
16358
16359        * WebCore.exp.in:
16360        * dom/Document.cpp:
16361        (WebCore::Document::Document):
16362        (WebCore::Document::updateURLForPushOrReplaceState):
16363        * loader/DocumentWriter.cpp:
16364        (WebCore::DocumentWriter::begin):
16365        * loader/FrameLoader.cpp:
16366        (WebCore::FrameLoader::iconURL):
16367        (WebCore::FrameLoader::didOpenURL):
16368        (WebCore::FrameLoader::didExplicitOpen):
16369        (WebCore::FrameLoader::receivedFirstData):
16370        (WebCore::FrameLoader::url):
16371        (WebCore::FrameLoader::setOutgoingReferrer):
16372        (WebCore::FrameLoader::startIconLoader):
16373        (WebCore::FrameLoader::commitIconURLToIconDatabase):
16374        (WebCore::FrameLoader::finishedParsing):
16375        (WebCore::FrameLoader::checkIfDisplayInsecureContent):
16376        (WebCore::FrameLoader::checkIfRunInsecureContent):
16377        (WebCore::FrameLoader::updateFirstPartyForCookies):
16378        (WebCore::FrameLoader::loadInSameDocument):
16379        (WebCore::FrameLoader::commitProvisionalLoad):
16380        (WebCore::FrameLoader::open):
16381        (WebCore::FrameLoader::shouldScrollToAnchor):
16382        * loader/FrameLoader.h: Rename setURL() to setOutgoingReferrer().
16383
163842011-01-25  Brian Weinstein  <bweinstein@apple.com>
16385
16386        Reviewed by Antti Koivisto.
16387
16388        Crashes loading pages when cancelling subresource loads through WebKit
16389        https://bugs.webkit.org/show_bug.cgi?id=53123
16390        <rdar://problem/8914361>
16391        
16392        Fix a crash that happened when cancelling subresource loads through WebKit.
16393        
16394        When a load is cancelled synchronously (via the WebKit client), CachedResourceLoader::requestResource 
16395        can be called recursively on the same function, either leading to infinite recursion, or deleting 
16396        an object when it is not done being used.
16397        
16398        The fix for this was to call checkForPendingPreloads and servePendingRequests asynchronously when 
16399        CachedResourceLoader::loadDone was called synchronously (due to the load being cancelled synchronously).
16400
16401        Test: fast/loader/willSendRequest-null-for-preload.html
16402
16403        * loader/DocumentLoader.cpp:
16404        (WebCore::DocumentLoader::setRequest): Only dispatch didReceiveServerRedirectForProvisionalLoadForFrame 
16405            if our new URL is non-null.
16406        * loader/cache/CachedResourceLoader.cpp:
16407        (WebCore::CachedResourceLoader::CachedResourceLoader): Initialize our timer.
16408        (WebCore::CachedResourceLoader::loadDone): If the CachedResource we were passed in was 0, that means this 
16409            function was called synchronously
16410            from CachedResourceRequest::load, and we don't want to call into checkForPendingPreloads synchronously, 
16411            so put it on a 0-delay timer to make the calls to checkForPendingPreloads and servePendingRequests asynchronous.
16412        (WebCore::CachedResourceLoader::loadDonePendingActionTimerFired): Call checkForPendingPreloads and servePendingRequests.
16413        (WebCore::CachedResourceLoader::checkForPendingPreloads): m_pendingPreloads is now a Deque instead of a Vector, 
16414            so use Deque methods.
16415        * loader/cache/CachedResourceLoader.h: Add the timer, the timer callback function, and make m_pendingPreloads a Deque.
16416
164172011-01-25  Pavel Podivilov  <podivilov@chromium.org>
16418
16419        Reviewed by Pavel Feldman.
16420
16421        Web Inspector: evaluate in console may not work when window.console is substituted or deleted.
16422        https://bugs.webkit.org/show_bug.cgi?id=53072
16423
16424        Test: inspector/console-substituted.html
16425
16426        * inspector/InjectedScriptSource.js:
16427        (.):
16428
164292011-01-26  Carlos Garcia Campos  <cgarcia@igalia.com>
16430
16431        Reviewed by Martin Robinson.
16432
16433        [cairo] Use CAIRO_OPERATOR_DARKEN when available
16434        https://bugs.webkit.org/show_bug.cgi?id=53084
16435
16436        Use CAIRO_OPERATOR_DARKEN for CompositePlusDarker instead of
16437        CAIRO_OPERATOR_SATURATE when building with cairo version >= 1.10.
16438
16439        * platform/graphics/cairo/CairoUtilities.cpp:
16440        (WebCore::toCairoOperator):
16441
164422011-01-26  Pavel Feldman  <pfeldman@chromium.org>
16443
16444        Reviewed by Yury Semikhatsky.
16445
16446        Web Inspector: visualize \n in strings as unicode cr
16447        symbol in stack variables sidebar.
16448        https://bugs.webkit.org/show_bug.cgi?id=53162
16449
16450        * inspector/front-end/ObjectPropertiesSection.js:
16451        (WebInspector.ObjectPropertyTreeElement.prototype.update):
16452
164532011-01-26  Andrey Kosyakov  <caseq@chromium.org>
16454
16455        Reviewed by Pavel Feldman.
16456
16457        Web Inspector: size is wrong for cached resources in Network panel
16458        - Set the size for 304/not modified resources from cached resource.
16459        - Add response headers size to resource transfer size.
16460        https://bugs.webkit.org/show_bug.cgi?id=52886
16461
16462        * inspector/InspectorResourceAgent.cpp:
16463        (WebCore::InspectorResourceAgent::didReceiveResponse):
16464        * inspector/front-end/Resource.js:
16465        (WebInspector.Resource):
16466        (WebInspector.Resource.prototype.get transferSize):
16467        (WebInspector.Resource.prototype.set responseHeaders):
16468        (WebInspector.Resource.prototype._headersSize):
16469        (WebInspector.Resource.prototype._mimeTypeIsConsistentWithType):
16470
164712011-01-26  Carol Szabo  <carol.szabo@nokia.com>
16472
16473        Reviewed by Simon Hausmann.
16474
16475        Fixed TiledBacking store to take into account new dirty regions caused by
16476        paint time layouts.
16477
16478        Flawed rendering design for QtWebKit resulting in artifacts being displayed
16479        https://bugs.webkit.org/show_bug.cgi?id=49184
16480
16481        There are no new tests as this patch aims at fixing flicker that
16482        happen randomly, mostly on slow hardware, thus are hard to reproduce
16483        consistently in an automated test.
16484
16485        This patch does not fully address the said bug but it is a step in the
16486        right direction. A full solution to the bug, as currently perceived,
16487        requires either a Qt GUI API change, a performance hit for QtWebKit,
16488        or a hack, until a full solution is provided this patch is progress.
16489
16490        * platform/graphics/TiledBackingStore.cpp:
16491        (WebCore::TiledBackingStore::updateTileBuffers):
16492        Changed to take into account newly dirtied areas created during
16493        tile update initiated layouts during the same update.
16494
164952011-01-26  Patrick Gansterer  <paroga@webkit.org>
16496
16497        Reviewed by Andreas Kling.
16498
16499        [SKIA] Remove "current path" of GraphicsContext
16500        https://bugs.webkit.org/show_bug.cgi?id=53124
16501
16502        * platform/graphics/GraphicsContext.h:
16503        * platform/graphics/skia/GraphicsContextSkia.cpp:
16504        (WebCore::GraphicsContext::clipPath):
16505        (WebCore::GraphicsContext::fillPath):
16506        (WebCore::GraphicsContext::strokePath):
16507        * platform/graphics/skia/PathSkia.cpp:
16508        (WebCore::Path::strokeBoundingRect):
16509        * platform/graphics/skia/PlatformContextSkia.cpp:
16510        * platform/graphics/skia/PlatformContextSkia.h:
16511
165122011-01-26  Zalan Bujtas <zbujtas@gmail.com>
16513
16514        Reviewed by Andreas Kling.
16515
16516        [Qt] Path::normalAngleAtLength() returns incorrect value on ACID3.
16517
16518        QPainterPath returns angle values with the origo being at the top left corner,
16519        we need to account for this in normalAngleAtLength().
16520        This Regressed with r66979.
16521
16522        No new tests as this is already covered by ACID3.
16523
16524        * platform/graphics/qt/PathQt.cpp:
16525        (WebCore::Path::normalAngleAtLength):
16526
165272011-01-26  Pavel Feldman  <pfeldman@chromium.org>
16528
16529        Reviewed by Yury Semikhatsky.
16530
16531        Web Inspector: live edit does not update source snippet.
16532        https://bugs.webkit.org/show_bug.cgi?id=53097
16533
16534        * inspector/front-end/ScriptsPanel.js:
16535        (WebInspector.ScriptsPanel.prototype._scriptSourceChanged):
16536
165372011-01-26  Pavel Feldman  <pfeldman@chromium.org>
16538
16539        Reviewed by Yury Semikhatsky.
16540
16541        Web Inspector: Incorrect on-hover evaluation of a variable named 'profile'.
16542        https://bugs.webkit.org/show_bug.cgi?id=53018
16543
16544        * inspector/InjectedScript.cpp:
16545        (WebCore::InjectedScript::evaluate):
16546        (WebCore::InjectedScript::evaluateOnCallFrame):
16547        (WebCore::InjectedScript::getCompletions):
16548        (WebCore::InjectedScript::getCompletionsOnCallFrame):
16549        * inspector/InjectedScript.h:
16550        * inspector/InjectedScriptSource.js:
16551        (.):
16552        * inspector/Inspector.idl:
16553        * inspector/InspectorDebuggerAgent.cpp:
16554        (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
16555        (WebCore::InspectorDebuggerAgent::getCompletionsOnCallFrame):
16556        * inspector/InspectorDebuggerAgent.h:
16557        * inspector/InspectorRuntimeAgent.cpp:
16558        (WebCore::InspectorRuntimeAgent::evaluate):
16559        (WebCore::InspectorRuntimeAgent::getCompletions):
16560        * inspector/InspectorRuntimeAgent.h:
16561        * inspector/front-end/ConsoleView.js:
16562        (WebInspector.ConsoleView.prototype.completions):
16563        (WebInspector.ConsoleView.prototype.evalInInspectedWindow):
16564        (WebInspector.ConsoleView.prototype._enterKeyPressed):
16565        * inspector/front-end/ScriptsPanel.js:
16566        (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame.updatingCallbackWrapper):
16567        (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame):
16568        * inspector/front-end/SourceFrame.js:
16569        (WebInspector.SourceFrame.prototype._showPopup):
16570        * inspector/front-end/WatchExpressionsSidebarPane.js:
16571        (WebInspector.WatchExpressionsSection.prototype.update):
16572
165732011-01-26  Hironori Bono  <hbono@chromium.org>
16574
16575        Reviewed by Kent Tamura.
16576
16577        A speculative fix for Bug 52422 - [chromium] More crash in
16578        FontFallbackList::determinePitch(const Font* font)
16579        https://bugs.webkit.org/show_bug.cgi?id=52422
16580
16581        My previous change may not work on non-US Windows whose system fonts
16582        have localized aliases matching to the system locale because of a
16583        font-name mismatch in createFontIndirectAndGetWinName(). This change
16584        tries all the fonts installed in a PC and returns the first font that we
16585        can create without errors.
16586
16587        * platform/graphics/chromium/FontCacheChromiumWin.cpp:
16588        (WebCore::GetLastResortFallbackFontProcData::GetLastResortFallbackFontProcData):
16589        Added a struct used for getLastResortFallbackFontProc().
16590        (WebCore::getLastResortFallbackFontProc): Added a callback for EnumFontFamilies().
16591        (WebCore::FontCache::getLastResortFallbackFont): Use EnumFontFamilies() to find a last-resort font.
16592
165932011-01-26  James Robinson  <jamesr@chromium.org>
16594
16595        Reviewed by Nate Chapin.
16596
16597        Add a DOMTimeStamp parameter to the requestAnimationFrame callback
16598        https://bugs.webkit.org/show_bug.cgi?id=53142
16599
16600        This adds a DOMTimeStamp parameter to the requestAnimationFrame callback to more
16601        closely match mozilla's proposal.  This is useful if the page has multiple imperative animations
16602        and wants to ensure that they all remain synchronized.  If each callback used Date.now() to
16603        update its animation state, they would potentially be out of sync with each other.  If they use
16604        the timestamp then all callbacks for the same "frame" will update to the same state.
16605
16606        Test: fast/animation/request-animation-frame-timestamps.html
16607
16608        * bindings/scripts/CodeGeneratorV8.pm:
16609        * bindings/scripts/test/V8/V8TestCallback.cpp:
16610        (WebCore::V8TestCallback::callbackWithClass2Param):
16611        * dom/Document.cpp:
16612        (WebCore::Document::serviceScriptedAnimations):
16613        * dom/Document.h:
16614        * dom/RequestAnimationFrameCallback.h:
16615        * dom/RequestAnimationFrameCallback.idl:
16616        * page/FrameView.cpp:
16617        (WebCore::FrameView::serviceScriptedAnimations):
16618        * page/FrameView.h:
16619
166202011-01-25  Yuzo Fujishima  <yuzo@google.com>
16621
16622        Unreviewed attempt to fix compilation error for Chromium Clang.
16623
16624        * platform/graphics/mac/ComplexTextController.cpp:
16625        (WebCore::ComplexTextController::advance):
16626
166272011-01-25  Ned Holbrook  <nholbrook@apple.com>
16628
16629        Reviewed by Dan Bernstein.
16630
16631        ComplexTextController incorrectly conflates string length and range of indexes
16632        https://bugs.webkit.org/show_bug.cgi?id=52760
16633
16634        Test: fast/text/offsetForPosition-complex-fallback.html
16635
16636        * platform/graphics/mac/ComplexTextController.cpp:
16637        (WebCore::ComplexTextController::offsetForPosition):
16638        (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun):
16639        (WebCore::ComplexTextController::ComplexTextRun::setIsNonMonotonic):
16640        (WebCore::ComplexTextController::advance):
16641        * platform/graphics/mac/ComplexTextController.h:
16642        (WebCore::ComplexTextController::ComplexTextRun::create):
16643        (WebCore::ComplexTextController::ComplexTextRun::indexEnd):
16644        * platform/graphics/mac/ComplexTextControllerATSUI.cpp:
16645        (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun):
16646        * platform/graphics/mac/ComplexTextControllerCoreText.cpp:
16647        (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun):
16648        (WebCore::ComplexTextController::collectComplexTextRunsForCharactersCoreText):
16649
166502011-01-25  Sam Weinig  <sam@webkit.org>
16651
16652        Reviewed by David Hyatt.
16653
16654        Scrollbars don't work correctly for top-to-bottom text in an overflow: scroll area
16655        https://bugs.webkit.org/show_bug.cgi?id=53048
16656
16657        Test: fast/overflow/overflow-rtl-vertical-origin.html
16658
16659        * rendering/RenderLayer.cpp:
16660        (WebCore::RenderLayer::scrollPosition):
16661        (WebCore::RenderLayer::updateScrollInfoAfterLayout):
16662        Take the scroll origin into account when calculating scrollbars in more places.
16663
166642011-01-25  Steve Falkenburg  <sfalken@apple.com>
16665
16666        Windows production build fix.
16667        Use correct configuration-specific path in makefile.
16668
16669        * WebCore.vcproj/WebCore.make:
16670
166712011-01-25  Kent Tamura  <tkent@chromium.org>
16672
16673        Reviewed by Dimitri Glazkov.
16674
16675        Radio button group state is not restored correctly
16676        https://bugs.webkit.org/show_bug.cgi?id=50442
16677
16678        Fixes a bug that radio button states are not restored correctly in
16679        a case that non-first radio button in a group is checked.
16680
16681        If "checked" attribute is present, the radio button is checked and
16682        other radio buttons in the group are unchecked. This behavior
16683        disturbs form state restoring. This patch changes this behavior so
16684        that the "checked" attribute handling is delayed after form state
16685        restoring.
16686
16687        Test: fast/forms/state-restore-radio-group.html
16688
16689        * html/HTMLFormControlElement.h:
16690         Make finishParsingChildren() protected so that HTMLInpuElement can call it.
16691        * html/HTMLInputElement.cpp:
16692        (WebCore::HTMLInputElement::HTMLInputElement):
16693         - Add createdByParser parameter.
16694         - Initialize m_stateRestored and m_parsingInProgress.
16695        (WebCore::HTMLInputElement::create): Sync with the constructor.
16696        (WebCore::HTMLInputElement::restoreFormControlState):
16697         Set m_stateRestored in order to refer it in finishParsingChildren().
16698        (WebCore::HTMLInputElement::parseMappedAttribute):
16699         Don't call setChecked() during parsing. Move setNeedsValidityCheck()
16700         to setChecked().
16701        (WebCore::HTMLInputElement::finishParsingChildren):
16702         Call setChecked() if form state is not restored.
16703        (WebCore::HTMLInputElement::setChecked):
16704         Move setNeedsValidityCheck() from parseMappedAttribute() because
16705         finishParsingChildren() also needs to call setNeedsValidityCheck().
16706        * html/HTMLInputElement.h:
16707         - Remove the default value of HTMLFormElement* of the HTMLInputElement
16708           constructor, and add createdByParser parameter.
16709         - Introduce m_parsingInProgress and m_stateRestored.
16710        * html/HTMLIsIndexElement.cpp:
16711        (WebCore::HTMLIsIndexElement::HTMLIsIndexElement):
16712         Sync with the HTMLInputElement constructor change.
16713        * html/HTMLTagNames.in: Add constructorNeedsCreatedByParser flag.
16714        * rendering/MediaControlElements.cpp:
16715        (WebCore::MediaControlInputElement::MediaControlInputElement):
16716         Sync with the HTMLInputElement constructor change.
16717        * rendering/ShadowElement.cpp:
16718        (WebCore::ShadowInputElement::ShadowInputElement): ditto.
16719        * rendering/ShadowElement.h:
16720        (WebCore::ShadowElement::ShadowElement): ditto.
16721
167222011-01-25  Kent Tamura  <tkent@chromium.org>
16723
16724        Reviewed by Dimitri Glazkov.
16725
16726        HTMLFormElement::checkValidity() returns incorrect result if 'invalid' events are canceled.
16727        https://bugs.webkit.org/show_bug.cgi?id=52565
16728
16729        * html/HTMLFormElement.cpp:
16730        (WebCore::HTMLFormElement::validateInteractively):
16731          Check checkInvalidControlsAndCollectUnhandled() result instead of
16732          checking emptiness of unhandled invalid controls list.
16733        (WebCore::HTMLFormElement::checkValidity): ditto.
16734        (WebCore::HTMLFormElement::checkInvalidControlsAndCollectUnhandled):
16735          Renamed from collectUnhandledInvalidControls().
16736          Returns true if there is any invalid control regardless of event canceling.
16737        * html/HTMLFormElement.h: Rename collectUnhandledInvalidControls() to
16738          checkInvalidControlsAndCollectUnhandled().
16739
167402011-01-25  Kent Tamura  <tkent@chromium.org>
16741
16742        Reviewed by Dimitri Glazkov.
16743
16744        Range and number inputs should reject increment and decrement by
16745        keyboard or mouse wheel if they are disabled or read-only
16746        https://bugs.webkit.org/show_bug.cgi?id=53151
16747
16748        * html/RangeInputType.cpp:
16749        (WebCore::RangeInputType::handleKeydownEvent): Check disabled() and readOnly().
16750        * html/TextFieldInputType.cpp:
16751        (WebCore::TextFieldInputType::handleKeydownEventForSpinButton): ditto.
16752        (WebCore::TextFieldInputType::handleWheelEventForSpinButton): ditto.
16753
167542011-01-25  Kent Tamura  <tkent@chromium.org>
16755
16756        Reviewed by Dimitri Glazkov.
16757
16758        API to support localized numbers for <input type=number>
16759        https://bugs.webkit.org/show_bug.cgi?id=45730
16760
16761        Introduce platform/text/LocalizedNumber.h, and
16762        LocalizedNumberNone.cpp, which is an empty implementation of the
16763        functions in LocalizedNumber.h.  We use LocalizedNumberNone.cpp in
16764        all platforms for now.
16765
16766        A string in a type=number field is parsed as a localized number
16767        first. If the parsing fails, it is parsed as the HTML5 number.
16768
16769        We introduce HTMLInputElement::visibleValue(). It represents a value
16770        which should be drawn by a renderer. HTMLInputElement::value() always
16771        returns a number formatted for HTML5, and visibleValue() may return a
16772        localized number.
16773
16774        No new tests because this doesn't change any behavior.
16775
16776        * Android.mk: Add LocalizedNumber.h and/or LocalizedNumberNone.cpp.
16777        * CMakeLists.txt: ditto.
16778        * GNUmakefile.am: ditto.
16779        * WebCore.gypi: ditto.
16780        * WebCore.pro: ditto.
16781        * WebCore.vcproj/WebCore.vcproj: ditto.
16782        * WebCore.xcodeproj/project.pbxproj: ditto.
16783        * dom/InputElement.h: Add visibleValue().
16784        * html/HTMLInputElement.cpp:
16785        (WebCore::HTMLInputElement::visibleValue): Added.  Just call InputType::visibleValue().
16786        * html/HTMLInputElement.h: Declare visibleValue().
16787        * html/InputType.cpp:
16788        (WebCore::InputType::visibleValue): Add the default implementation of
16789          visibleValue(), which returns HTMLInputElement::value().
16790        * html/InputType.h: Add declarations.
16791        * html/NumberInputType.cpp:
16792        (WebCore::isHTMLNumberCharacter): Renamed from isNumberCharacter().
16793        (WebCore::isNumberCharacter): Calls isLocalizedNumberCharacter() and isHTMLNumberCharacter().
16794        (WebCore::NumberInputType::visibleValue):
16795          Returns a localized number string produced by formatLocalizedNumber().
16796        (WebCore::NumberInputType::isAcceptableValue): Calls parseLocalizedNumber().
16797        (WebCore::NumberInputType::sanitizeValue): Calls parseLocalizedNumber().
16798        * html/NumberInputType.h: Add declarations.
16799        * platform/text/LocalizedNumber.h: Added.
16800        * platform/text/LocalizedNumberNone.cpp: Added.
16801        (WebCore::parseLocalizedNumber):
16802        (WebCore::formatLocalizedNumber):
16803        (WebCore::isLocalizedNumberCharacter):
16804        * rendering/RenderTextControlSingleLine.cpp:
16805        (WebCore::RenderTextControlSingleLine::updateFromElement):
16806          Calls InputElement::visibleValue() instead of value().
16807        * wml/WMLInputElement.h:
16808        (WebCore::WMLInputElement::visibleValue): Added. It just calls value().
16809
168102011-01-25  Alexey Proskuryakov  <ap@apple.com>
16811
16812        Reviewed by Darin Adler.
16813
16814        https://bugs.webkit.org/show_bug.cgi?id=53143
16815        Add IntRectHash
16816
16817        * WebCore.xcodeproj/project.pbxproj:
16818        * platform/graphics/IntRectHash.h: Added.
16819
16820        * platform/graphics/IntSizeHash.h: Don't do "using WebCore::IntSize"!
16821
168222011-01-25  Ilya Sherman  <isherman@chromium.org>
16823
16824        Reviewed by Ryosuke Niwa.
16825
16826        Remove trailing whitespace in HTMLInputElement.cpp
16827        https://bugs.webkit.org/show_bug.cgi?id=53152
16828
16829        * html/HTMLInputElement.cpp:
16830        (WebCore::HTMLInputElement::updateCheckedRadioButtons):
16831        (WebCore::HTMLInputElement::applyStep):
16832        (WebCore::HTMLInputElement::updateFocusAppearance):
16833        (WebCore::HTMLInputElement::mapToEntry):
16834        (WebCore::HTMLInputElement::setAutofilled):
16835        (WebCore::HTMLInputElement::willMoveToNewOwnerDocument):
16836        (WebCore::HTMLInputElement::didMoveToNewOwnerDocument):
16837
168382011-01-25  Mike Reed  <reed@google.com>
16839
16840        Reviewed by James Robinson.
16841
16842        DrawingBufer::reset() today checks if the new size is the same as its
16843        m_size, and if so, returns immediately. This does not match the
16844        semantics of <canvas>, which wants to clear its contents anytime the
16845        size is specified.
16846        https://bugs.webkit.org/show_bug.cgi?id=53149
16847
16848        Test: Covered by existing <canvas> tests using gpu.
16849
16850        * platform/graphics/chromium/DrawingBufferChromium.cpp:
16851        (WebCore::DrawingBuffer::DrawingBuffer):
16852        * platform/graphics/gpu/DrawingBuffer.cpp:
16853        (WebCore::DrawingBuffer::reset):
16854
168552011-01-25  Cris Neckar  <cdn@chromium.org>
16856
16857        Reviewed by Adam Barth.
16858
16859        Add a hashset of DOMURLs to ScriptExecutionContext to track back references.
16860        https://bugs.webkit.org/show_bug.cgi?id=53038
16861
16862        Test: fast/dom/window-domurl-crash.html
16863
16864        * dom/ScriptExecutionContext.cpp:
16865        (WebCore::ScriptExecutionContext::~ScriptExecutionContext):
16866        (WebCore::ScriptExecutionContext::createdDomUrl):
16867        (WebCore::ScriptExecutionContext::destroyedDomUrl):
16868        * dom/ScriptExecutionContext.h:
16869        (WebCore::ScriptExecutionContext::domUrls):
16870        * html/DOMURL.cpp:
16871        (WebCore::DOMURL::DOMURL):
16872        (WebCore::DOMURL::~DOMURL):
16873        (WebCore::DOMURL::contextDestroyed):
16874        * html/DOMURL.h:
16875        (WebCore::DOMURL::scriptExecutionContext):
16876
168772011-01-23  Antti Koivisto  <antti@apple.com>
16878
16879        Reviewed by Darin Adler.
16880
16881        https://bugs.webkit.org/show_bug.cgi?id=52983
16882        Eliminate m_tagHistory pointer from CSSSelector
16883
16884        Keep the component selectors in the array in CSSSelectorList instead
16885        of maintaining a linked list between them. This allows eliminating
16886        m_tagHistory pointer, shrinking CSSSelector by 25% (selection performance
16887        seems to improve some too due to better locality).
16888
16889        * WebCore.xcodeproj/project.pbxproj:
16890        
16891            Make CSSSelector.h a private header.
16892        
16893        * css/CSSGrammar.y:
16894        
16895            Use CSSParserSelector during parsing to keep the tag history in 
16896            a linked list. This is flattened to an array after parsing.
16897            Use accessors for setting selector values.
16898            Use OwnPtr in selector vector.
16899            
16900        * css/CSSPageRule.cpp:
16901        (WebCore::CSSPageRule::CSSPageRule):
16902        * css/CSSPageRule.h:
16903        (WebCore::CSSPageRule::create):
16904        
16905            Simplify.
16906    
16907        * css/CSSParser.cpp:
16908        (WebCore::CSSParser::~CSSParser):
16909        (WebCore::CSSParser::createFloatingSelector):
16910        (WebCore::CSSParser::sinkFloatingSelector):
16911        (WebCore::CSSParser::createStyleRule):
16912        (WebCore::CSSParser::updateSpecifiersWithElementName):
16913        (WebCore::CSSParser::createPageRule):
16914        * css/CSSParser.h:
16915        (WebCore::CSSParser::reusableSelectorVector):
16916        
16917            CSSSelector -> CSSParserSelector.
16918            Use OwnPtr in selector vector.
16919            
16920        * css/CSSParserValues.cpp:
16921        (WebCore::CSSParserSelector::CSSParserSelector):
16922        (WebCore::CSSParserSelector::~CSSParserSelector):
16923        * css/CSSParserValues.h:
16924        (WebCore::CSSParserSelector::releaseSelector):
16925        (WebCore::CSSParserSelector::setTag):
16926        (WebCore::CSSParserSelector::setValue):
16927        (WebCore::CSSParserSelector::setAttribute):
16928        (WebCore::CSSParserSelector::setArgument):
16929        (WebCore::CSSParserSelector::setSimpleSelector):
16930        (WebCore::CSSParserSelector::setMatch):
16931        (WebCore::CSSParserSelector::setRelation):
16932        (WebCore::CSSParserSelector::setForPage):
16933        (WebCore::CSSParserSelector::pseudoType):
16934        (WebCore::CSSParserSelector::isUnknownPseudoElement):
16935        (WebCore::CSSParserSelector::isSimple):
16936        (WebCore::CSSParserSelector::tagHistory):
16937        (WebCore::CSSParserSelector::setTagHistory):
16938        
16939            Linked list used during parsing.
16940            Avoid recursive destruction.
16941
16942        * css/CSSSelector.cpp:
16943        (WebCore::CSSSelector::extractPseudoType):
16944        (WebCore::CSSSelector::operator==):
16945        (WebCore::CSSSelector::selectorText):
16946        (WebCore::CSSSelector::setSimpleSelector):
16947        * css/CSSSelector.h:
16948        (WebCore::CSSSelector::CSSSelector):
16949        (WebCore::CSSSelector::~CSSSelector):
16950        (WebCore::CSSSelector::tagHistory):
16951        (WebCore::CSSSelector::tag):
16952        (WebCore::CSSSelector::value):
16953        (WebCore::CSSSelector::setTag):
16954        (WebCore::CSSSelector::isLastInTagHistory):
16955        (WebCore::CSSSelector::setNotLastInTagHistory):
16956        (WebCore::CSSSelector::RareData::RareData):
16957        (WebCore::CSSSelector::RareData::~RareData):
16958        (WebCore::CSSSelector::createRareData):
16959        (WebCore::CSSSelector::setValue):
16960        
16961            Remove m_tagHistory.
16962            Keep m_value in the union with the rare data pointer instead.
16963            Make m_value and m_tag private, implement accessors.
16964            Add a new bit to indicate end of the tag history (multipart selector).
16965            Eliminate complex destruction. Selectors are now deleted as an array or by a CSSParserSelector chain.
16966            
16967        * css/CSSSelectorList.cpp:
16968        (WebCore::CSSSelectorList::adoptSelectorVector):
16969        
16970            Flatten everything to an array.
16971        
16972        (WebCore::SelectorNeedsNamespaceResolutionFunctor::operator()):
16973        * css/CSSSelectorList.h:
16974        (WebCore::CSSSelectorList::hasOneSelector):
16975        (WebCore::CSSSelectorList::next):
16976        
16977            Skip over the subparts of multipart selectors to find the next selector.
16978    
16979        * css/CSSStyleRule.h:
16980        (WebCore::CSSStyleRule::adoptSelectorVector):
16981        
16982            CSSSelector -> CSSParserSelector.
16983            
16984        * css/CSSStyleSelector.cpp:
16985        (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
16986        (WebCore::CSSRuleSet::addRule):
16987        (WebCore::collectIdsAndSiblingRulesFromList):
16988        (WebCore::CSSStyleSelector::matchPageRulesForList):
16989        * dom/Node.cpp:
16990        (WebCore::Node::querySelector):
16991        * dom/SelectorNodeList.cpp:
16992        (WebCore::createSelectorNodeList):
16993        
16994            Use accessors.
16995
169962011-01-25  James Simonsen  <simonjam@chromium.org>
16997
16998        Reviewed by Tony Chang.
16999
17000        [Chromium] Support small caps in complex text on linux
17001        https://bugs.webkit.org/show_bug.cgi?id=53051
17002
17003        * platform/graphics/chromium/ComplexTextControllerLinux.cpp:
17004        (WebCore::ComplexTextController::nextScriptRun): Break runs at small caps boundaries.
17005        (WebCore::ComplexTextController::setupFontForScriptRun): Setup small caps font data if needed.
17006        * platform/graphics/chromium/ComplexTextControllerLinux.h: Store small caps text in separate string.
17007
170082011-01-25  Steve Falkenburg  <sfalken@apple.com>
17009
17010        Rubber-stamped by Adam Roben.
17011
17012        Windows production build fix.
17013        Use correct environment variable escaping
17014
17015        * WebCore.vcproj/WebCore.make:
17016
170172011-01-25  Adam Barth  <abarth@webkit.org>
17018
17019        Reviewed by Eric Seidel.
17020
17021        Empty URLs are never display isolated
17022        https://bugs.webkit.org/show_bug.cgi?id=53053
17023
17024        This check mirrors the check in the local case.  There isn't a good way
17025        to test this with a LayoutTest, but it is tested in Chromium (where
17026        this registry is used).
17027
17028        * platform/SchemeRegistry.cpp:
17029        (WebCore::SchemeRegistry::shouldTreatURLSchemeAsDisplayIsolated):
17030
170312011-01-25  Sam Weinig  <sam@webkit.org>
17032
17033        Reviewed by Anders Carlsson.
17034
17035        Pipe a timestamp down into the PlatformWheelEvent for the Mac.
17036        https://bugs.webkit.org/show_bug.cgi?id=53111
17037
17038        * platform/PlatformWheelEvent.h:
17039        (WebCore::PlatformWheelEvent::PlatformWheelEvent):
17040        (WebCore::PlatformWheelEvent::timestamp):
17041        Add timestamp member.
17042
17043        * platform/mac/WheelEventMac.mm:
17044        (WebCore::PlatformWheelEvent::PlatformWheelEvent):
17045        Initialize the timestamp from the event.
17046
170472011-01-25  Sheriff Bot  <webkit.review.bot@gmail.com>
17048
17049        Unreviewed, rolling out r76625.
17050        http://trac.webkit.org/changeset/76625
17051        https://bugs.webkit.org/show_bug.cgi?id=53119
17052
17053        "incorrect pixel test results" (Requested by rniwa on
17054        #webkit).
17055
17056        * rendering/RenderBox.cpp:
17057        (WebCore::RenderBox::localCaretRect):
17058
170592011-01-25  Patrick Gansterer  <paroga@webkit.org>
17060
17061        Unreviewed WinCE build fix for r76614.
17062
17063        * platform/FileSystem.h:
17064
170652011-01-21  Levi Weintraub  <leviw@chromium.org>
17066
17067        Reviewed by Darin Adler.
17068
17069        Adding border and padding to the calculation of the local caret rect for RenderBoxes.
17070
17071        Undo moves caret to invalid position
17072        https://bugs.webkit.org/show_bug.cgi?id=49744
17073
17074        Tests: editing/selection/caret-painting-after-paste-undo-rtl.html
17075               editing/selection/caret-painting-after-paste-undo.html
17076
17077        * rendering/RenderBox.cpp:
17078        (WebCore::RenderBox::localCaretRect):
17079
170802011-01-25  Sam Weinig  <sam@webkit.org>
17081
17082        Reviewed by Anders Carlsson.
17083
17084        Add hasPreciseScrollingDeltas bit to PlatformWheelEvent on the Mac.
17085        https://bugs.webkit.org/show_bug.cgi?id=53107
17086
17087        * platform/PlatformWheelEvent.h:
17088        (WebCore::PlatformWheelEvent::PlatformWheelEvent):
17089        (WebCore::PlatformWheelEvent::hasPreciseScrollingDeltas):
17090        * platform/mac/WheelEventMac.mm:
17091        (WebCore::PlatformWheelEvent::PlatformWheelEvent):
17092
170932011-01-20  Jer Noble  <jer.noble@apple.com>
17094
17095        Reviewed by Eric Carlson.
17096
17097        REGRESSION (r72119): Audio never plays on Star Wars intro animation
17098        https://bugs.webkit.org/show_bug.cgi?id=52467
17099        
17100        QuickTime's eat/m4a movie importer compontent doesn't list audio/m4a as a mime
17101        type which it supports, though it handles .m4a files just fine.  Change the way
17102        we build the list of supported MIME Types through a new WebKitSystemInterface
17103        function.
17104        
17105        Caused by r72119, which adds system-specific extension->MIME entries to the cache
17106        before global entries, and the system-specific entries include QuickTime's registry 
17107        entries which contain the audio/m4a MIME type, while its components do not.
17108
17109        Test: media/audio-mpeg4-supported.html
17110
17111        * WebCore.vcproj/QTMovieWinCommon.vsprops:
17112        * platform/graphics/win/QTMovie.cpp:
17113        (getMIMETypeCallBack):
17114        (initializeSupportedTypes):
17115        (QTMovie::countSupportedTypes): gSupportedTypes is now a CFArrayRef.
17116        (QTMovie::getSupportedType): Ditto.
17117
171182011-01-25  Hans Wennborg  <hans@chromium.org>
17119
17120        Reviewed by Jeremy Orlow.
17121
17122        IndexedDB: Remove PlatformBridge::idbShutdown()
17123        https://bugs.webkit.org/show_bug.cgi?id=53077
17124
17125        Since Chromium r72157, this is not used anymore. The previous use was
17126        to signal to the embedder that IndexedDB was shutting down, but we
17127        agreed it is better if the embedder keeps track of that itself.
17128
17129        No new tests: this does not change any functionality.
17130
17131        * platform/chromium/PlatformBridge.h:
17132        * storage/IDBFactoryBackendInterface.cpp:
17133        * storage/IDBFactoryBackendInterface.h:
17134        (WebCore::IDBFactoryBackendInterface::~IDBFactoryBackendInterface):
17135        * storage/chromium/IDBFactoryBackendInterface.cpp:
17136
171372011-01-25  Darin Adler  <darin@apple.com>
17138
17139        Reviewed by Anders Carlsson.
17140
17141        WebKit is using CSBackupSetItemExcluded incorrectly
17142        https://bugs.webkit.org/show_bug.cgi?id=53095
17143        rdar://problem/8790540
17144
17145        * loader/icon/IconDatabase.cpp:
17146        (WebCore::IconDatabase::performOpenInitialization): Added code to
17147        exclude the database from backup one time, and record inside the
17148        database that this has been done.
17149        (WebCore::IconDatabase::wasExcludedFromBackup): Added.
17150        (WebCore::IconDatabase::setWasExcludedFromBackup): Added.
17151        * loader/icon/IconDatabase.h: Added new functions above.
17152
17153        * platform/FileSystem.cpp:
17154        (WebCore::canExcludeFromBackup): Added.
17155        (WebCore::excludeFromBackup): Added.
17156
17157        * platform/FileSystem.h: Added canExcludeFromBackup, excludeFromBackup,
17158        and pathAsURL functions. Cleaned up ifdefs and comments a bit and sorted
17159        things alphabetically, particularly platform-specific sections.
17160
17161        * platform/cf/FileSystemCF.cpp:
17162        (WebCore::pathAsURL): Added.
17163
17164        * platform/mac/FileSystemMac.mm:
17165        (WebCore::canExcludeFromBackup): Added.
17166        (WebCore::excludeFromBackup): Added.
17167
17168        * platform/network/cf/FormDataStreamCFNet.cpp:
17169        (WebCore::advanceCurrentStream): Changed to call pathAsURL.
17170        * platform/network/mac/FormDataStreamMac.mm:
17171        (WebCore::advanceCurrentStream): Ditto.
17172
171732011-01-25  Helder Correia  <helder@sencha.com>
17174
17175        Reviewed by Dirk Schulze.
17176
17177        REGRESSION(75139): SVG gradients are not applied to texts
17178        https://bugs.webkit.org/show_bug.cgi?id=52531
17179
17180        CGContextConcatCTM should use the CGLayer context, not the
17181        GraphicsContext. Also, the CTM needs to be adjusted (translated).
17182        This fixes SVG text gradient fill.
17183
17184        Test: svg/css/composite-shadow-text.svg
17185
17186        * platform/graphics/cg/GraphicsContextCG.cpp:
17187        (WebCore::GraphicsContext::fillRect):
17188
171892011-01-25  Benjamin Kalman  <kalman@chromium.org>
17190
17191        Reviewed by Ryosuke Niwa.
17192
17193        Cannot extend or modify forward by word over a non-contenteditable region
17194        https://bugs.webkit.org/show_bug.cgi?id=53070
17195
17196        Test: editing/selection/extend-forward-by-word-over-non-editable.html
17197
17198        Change all instances of honorEditableBoundaryAtOrAfter to honorEditableBoundaryAtOrBefore and vice versa in the
17199        functions which determine the end/start of words/lines/sentences in visible_units.cpp.
17200
17201        This fixes the bug where moving forwards by a word over a non-contenteditable region would place the cursor
17202        inside that region, and then get moved back to the start of the word due to honorEditableBoundaryAtOrBefore.
17203        The cursor is now moved to the end of the region (which is effectively a noop in this case).
17204
17205        * editing/visible_units.cpp: Change all instances of honorEditableBoundaryAtOrAfter to
17206        honorEditableBoundaryAtOrBefore and vice versa.
17207        (WebCore::previousWordPosition):
17208        (WebCore::nextWordPosition):
17209        (WebCore::startOfLine):
17210        (WebCore::endOfLine):
17211        (WebCore::previousSentencePosition):
17212        (WebCore::nextSentencePosition):
17213        (WebCore::logicalStartOfLine):
17214        (WebCore::logicalEndOfLine):
17215
172162011-01-25  Yael Aharon  <yael.aharon@nokia.com>
17217
17218        Unreviewed build fix.
17219        After r76466, efsrv.lib is used unconditionally.
17220        Don't guard it with ENABLE_NETSCAPE_PLUGIN_API.
17221
17222        * WebCore.pro:
17223
172242011-01-24  Zhenyao Mo  <zmo@google.com>
17225
17226        Reviewed by Kenneth Russell.
17227
17228        Style cleanup for WebGLRenderingContext
17229        https://bugs.webkit.org/show_bug.cgi?id=52352
17230
17231        * html/canvas/WebGLBuffer.cpp:
17232        * html/canvas/WebGLBuffer.h:
17233        * html/canvas/WebGLObject.cpp:
17234        * html/canvas/WebGLProgram.cpp:
17235        * html/canvas/WebGLRenderbuffer.cpp:
17236        * html/canvas/WebGLRenderingContext.cpp:
17237        (WebCore::WebGLRenderingContext::create):
17238        (WebCore::WebGLRenderingContext::blendFunc):
17239        (WebCore::WebGLRenderingContext::createShader):
17240        (WebCore::WebGLRenderingContext::deleteBuffer):
17241        (WebCore::WebGLRenderingContext::deleteShader):
17242        (WebCore::WebGLRenderingContext::deleteTexture):
17243        (WebCore::WebGLRenderingContext::disableVertexAttribArray):
17244        (WebCore::WebGLRenderingContext::validateIndexArrayPrecise):
17245        (WebCore::WebGLRenderingContext::validateRenderingState):
17246        (WebCore::WebGLRenderingContext::enableVertexAttribArray):
17247        (WebCore::WebGLRenderingContext::getUniform):
17248        (WebCore::WebGLRenderingContext::detachAndRemoveAllObjects):
17249        * html/canvas/WebGLRenderingContext.h:
17250        * html/canvas/WebGLShader.cpp:
17251        * html/canvas/WebGLTexture.cpp:
17252        * html/canvas/WebGLUniformLocation.cpp:
17253        * html/canvas/WebGLUniformLocation.h:
17254
172552011-01-24  Chris Marrin  <cmarrin@apple.com>
17256
17257        Reviewed by Eric Seidel.
17258
17259        Change ENABLE_3D_CANVAS to ENABLE_WEBGL
17260        https://bugs.webkit.org/show_bug.cgi?id=53041
17261
17262        * Configurations/FeatureDefines.xcconfig:
17263        * DerivedSources.cpp:
17264        * GNUmakefile.am:
17265        * WebCore.pro:
17266        * bindings/generic/RuntimeEnabledFeatures.h:
17267        * bindings/js/JSArrayBufferCustom.cpp:
17268        * bindings/js/JSCanvasRenderingContextCustom.cpp:
17269        (WebCore::toJS):
17270        * bindings/js/JSDOMWindowCustom.cpp:
17271        * bindings/js/JSDataViewCustom.cpp:
17272        * bindings/js/JSDocumentCustom.cpp:
17273        * bindings/js/JSFloat32ArrayCustom.cpp:
17274        * bindings/js/JSHTMLCanvasElementCustom.cpp:
17275        (WebCore::JSHTMLCanvasElement::getContext):
17276        * bindings/js/JSInt16ArrayCustom.cpp:
17277        * bindings/js/JSInt32ArrayCustom.cpp:
17278        * bindings/js/JSInt8ArrayCustom.cpp:
17279        * bindings/js/JSUint16ArrayCustom.cpp:
17280        * bindings/js/JSUint32ArrayCustom.cpp:
17281        * bindings/js/JSUint8ArrayCustom.cpp:
17282        * bindings/js/JSWebGLRenderingContextCustom.cpp:
17283        * bindings/js/JSXMLHttpRequestCustom.cpp:
17284        (WebCore::JSXMLHttpRequest::markChildren):
17285        (WebCore::JSXMLHttpRequest::send):
17286        (WebCore::JSXMLHttpRequest::response):
17287        * bindings/v8/custom/V8ArrayBufferCustom.cpp:
17288        * bindings/v8/custom/V8ArrayBufferViewCustom.h:
17289        * bindings/v8/custom/V8DataViewCustom.cpp:
17290        * bindings/v8/custom/V8DocumentCustom.cpp:
17291        (WebCore::V8Document::getCSSCanvasContextCallback):
17292        * bindings/v8/custom/V8Float32ArrayCustom.cpp:
17293        * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
17294        (WebCore::V8HTMLCanvasElement::getContextCallback):
17295        * bindings/v8/custom/V8Int16ArrayCustom.cpp:
17296        * bindings/v8/custom/V8Int32ArrayCustom.cpp:
17297        * bindings/v8/custom/V8Int8ArrayCustom.cpp:
17298        * bindings/v8/custom/V8Uint16ArrayCustom.cpp:
17299        * bindings/v8/custom/V8Uint32ArrayCustom.cpp:
17300        * bindings/v8/custom/V8Uint8ArrayCustom.cpp:
17301        * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
17302        * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
17303        (WebCore::V8XMLHttpRequest::responseAccessorGetter):
17304        (WebCore::V8XMLHttpRequest::sendCallback):
17305        * features.pri:
17306        * html/HTMLCanvasElement.cpp:
17307        (WebCore::HTMLCanvasElement::getContext):
17308        (WebCore::HTMLCanvasElement::reset):
17309        * html/HTMLCanvasElement.h:
17310        * html/canvas/ArrayBuffer.cpp:
17311        * html/canvas/ArrayBuffer.idl:
17312        * html/canvas/ArrayBufferView.cpp:
17313        * html/canvas/ArrayBufferView.idl:
17314        * html/canvas/DataView.cpp:
17315        * html/canvas/DataView.idl:
17316        * html/canvas/Float32Array.cpp:
17317        * html/canvas/Float32Array.idl:
17318        * html/canvas/Int16Array.cpp:
17319        * html/canvas/Int16Array.idl:
17320        * html/canvas/Int32Array.cpp:
17321        * html/canvas/Int32Array.idl:
17322        * html/canvas/Int8Array.cpp:
17323        * html/canvas/Int8Array.idl:
17324        * html/canvas/OESStandardDerivatives.cpp:
17325        * html/canvas/OESStandardDerivatives.idl:
17326        * html/canvas/OESTextureFloat.cpp:
17327        * html/canvas/OESTextureFloat.idl:
17328        * html/canvas/Uint16Array.cpp:
17329        * html/canvas/Uint16Array.idl:
17330        * html/canvas/Uint32Array.cpp:
17331        * html/canvas/Uint32Array.idl:
17332        * html/canvas/Uint8Array.cpp:
17333        * html/canvas/Uint8Array.idl:
17334        * html/canvas/WebGLActiveInfo.idl:
17335        * html/canvas/WebGLBuffer.cpp:
17336        * html/canvas/WebGLBuffer.idl:
17337        * html/canvas/WebGLContextAttributes.cpp:
17338        * html/canvas/WebGLContextAttributes.idl:
17339        * html/canvas/WebGLContextEvent.idl:
17340        * html/canvas/WebGLExtension.cpp:
17341        * html/canvas/WebGLFramebuffer.cpp:
17342        * html/canvas/WebGLFramebuffer.idl:
17343        * html/canvas/WebGLGetInfo.cpp:
17344        * html/canvas/WebGLObject.cpp:
17345        * html/canvas/WebGLProgram.cpp:
17346        * html/canvas/WebGLProgram.idl:
17347        * html/canvas/WebGLRenderbuffer.cpp:
17348        * html/canvas/WebGLRenderbuffer.idl:
17349        * html/canvas/WebGLRenderingContext.cpp:
17350        * html/canvas/WebGLRenderingContext.idl:
17351        * html/canvas/WebGLShader.cpp:
17352        * html/canvas/WebGLShader.idl:
17353        * html/canvas/WebGLTexture.cpp:
17354        * html/canvas/WebGLTexture.idl:
17355        * html/canvas/WebGLUniformLocation.cpp:
17356        * html/canvas/WebGLUniformLocation.idl:
17357        * html/canvas/WebKitLoseContext.cpp:
17358        * html/canvas/WebKitLoseContext.idl:
17359        * page/DOMWindow.idl:
17360        * platform/graphics/ANGLEWebKitBridge.cpp:
17361        * platform/graphics/GraphicsContext3D.cpp:
17362        * platform/graphics/cg/GraphicsContext3DCG.cpp:
17363        * platform/graphics/gpu/DrawingBuffer.cpp:
17364        * platform/graphics/gpu/mac/DrawingBufferMac.mm:
17365        * platform/graphics/mac/GraphicsContext3DMac.mm:
17366        * platform/graphics/mac/WebGLLayer.mm:
17367        * platform/graphics/opengl/Extensions3DOpenGL.cpp:
17368        * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
17369        * platform/graphics/qt/Extensions3DQt.cpp:
17370        * platform/graphics/qt/GraphicsContext3DQt.cpp:
17371        * platform/graphics/qt/GraphicsLayerQt.cpp:
17372        (WebCore::GraphicsLayerQtImpl::GraphicsLayerQtImpl):
17373        (WebCore::GraphicsLayerQtImpl::paint):
17374        (WebCore::GraphicsLayerQtImpl::flushChanges):
17375        * platform/graphics/qt/GraphicsLayerQt.h:
17376        * platform/graphics/skia/GraphicsContext3DSkia.cpp:
17377        * platform/graphics/texmap/GraphicsLayerTextureMapper.h:
17378        * rendering/RenderLayerBacking.cpp:
17379        (WebCore::isAcceleratedCanvas):
17380        (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration):
17381        (WebCore::RenderLayerBacking::containsPaintedContent):
17382        (WebCore::RenderLayerBacking::contentChanged):
17383        * webaudio/AudioBuffer.cpp:
17384        * webaudio/AudioBuffer.idl:
17385        * webaudio/RealtimeAnalyser.cpp:
17386        * webaudio/RealtimeAnalyser.h:
17387        * webaudio/RealtimeAnalyserNode.h:
17388        * webaudio/RealtimeAnalyserNode.idl:
17389        * xml/XMLHttpRequest.cpp:
17390        (WebCore::XMLHttpRequest::setResponseType):
17391        (WebCore::XMLHttpRequest::clearResponse):
17392        (WebCore::XMLHttpRequest::didReceiveData):
17393        * xml/XMLHttpRequest.h:
17394
173952011-01-25  Mikhail Naganov  <mnaganov@chromium.org>
17396
17397        Reviewed by Pavel Feldman.
17398
17399        Web Inspector: [Chromium] Prepare for landing of detailed heap snapshots.
17400
17401        - Introduce Preferences.detailedHeapProfiles flag for controlling
17402          querying of detailed heap snapshots.
17403        - Add boilerplate code for the new view.
17404        - Factor out common code.
17405
17406        https://bugs.webkit.org/show_bug.cgi?id=52624
17407
17408        * WebCore.gypi:
17409        * WebCore.vcproj/WebCore.vcproj:
17410        * bindings/js/ScriptProfiler.h:
17411        (WebCore::ScriptProfiler::HeapSnapshotControl::~HeapSnapshotControl):
17412        (WebCore::ScriptProfiler::takeHeapSnapshot):
17413        * bindings/v8/ScriptProfiler.cpp:
17414        (WebCore::ScriptProfiler::takeHeapSnapshot):
17415        * bindings/v8/ScriptProfiler.h:
17416        (WebCore::ScriptProfiler::HeapSnapshotControl::~HeapSnapshotControl):
17417        * inspector/Inspector.idl:
17418        * inspector/InspectorProfilerAgent.cpp:
17419        (WebCore::InspectorProfilerAgent::takeHeapSnapshot):
17420        * inspector/InspectorProfilerAgent.h:
17421        * inspector/front-end/DetailedHeapshotView.js: Added.
17422        (WebInspector.DetailedHeapshotView):
17423        (WebInspector.DetailedHeapshotView.prototype.get statusBarItems):
17424        (WebInspector.DetailedHeapshotView.prototype.get profile):
17425        (WebInspector.DetailedHeapshotView.prototype.set profile):
17426        (WebInspector.DetailedHeapshotView.prototype.show):
17427        (WebInspector.DetailedHeapshotView.prototype.hide):
17428        (WebInspector.DetailedHeapshotProfileType):
17429        (WebInspector.DetailedHeapshotProfileType.prototype.get buttonTooltip):
17430        (WebInspector.DetailedHeapshotProfileType.prototype.get buttonStyle):
17431        (WebInspector.DetailedHeapshotProfileType.prototype.buttonClicked):
17432        (WebInspector.DetailedHeapshotProfileType.prototype.get welcomeMessage):
17433        (WebInspector.DetailedHeapshotProfileType.prototype.createSidebarTreeElementForProfile):
17434        (WebInspector.DetailedHeapshotProfileType.prototype.createView):
17435        * inspector/front-end/HeapSnapshot.js: Added.
17436        (WebInspector.HeapSnapshotEdgesIterator):
17437        (WebInspector.HeapSnapshotEdgesIterator.prototype.get done):
17438        (WebInspector.HeapSnapshotEdgesIterator.prototype.get isElement):
17439        (WebInspector.HeapSnapshotEdgesIterator.prototype.get isHidden):
17440        (WebInspector.HeapSnapshotEdgesIterator.prototype.get name):
17441        (WebInspector.HeapSnapshotEdgesIterator.prototype.next):
17442        (WebInspector.HeapSnapshotEdgesIterator.prototype.get node):
17443        (WebInspector.HeapSnapshotEdgesIterator.prototype.get nodeIndex):
17444        (WebInspector.HeapSnapshotEdgesIterator.prototype._getNameOrIndex):
17445        (WebInspector.HeapSnapshotEdgesIterator.prototype._getType):
17446        (WebInspector.HeapSnapshotNodeWrapper):
17447        (WebInspector.HeapSnapshotNodeWrapper.prototype.get edges):
17448        (WebInspector.HeapSnapshotNodeWrapper.prototype.get edgesCount):
17449        (WebInspector.HeapSnapshotNodeWrapper.prototype.get instancesCount):
17450        (WebInspector.HeapSnapshotNodeWrapper.prototype.get isHidden):
17451        (WebInspector.HeapSnapshotNodeWrapper.prototype.get name):
17452        (WebInspector.HeapSnapshotNodeWrapper.prototype.get selfSize):
17453        (WebInspector.HeapSnapshotNodeWrapper.prototype._getName):
17454        (WebInspector.HeapSnapshotNodeWrapper.prototype._getEdges):
17455        (WebInspector.HeapSnapshotNodeWrapper.prototype._getType):
17456        (WebInspector.HeapSnapshot):
17457        (WebInspector.HeapSnapshot.prototype._init):
17458        (WebInspector.HeapSnapshot.prototype.get rootEdges):
17459        * inspector/front-end/HeapSnapshotView.js:
17460        (WebInspector.HeapSnapshotProfileType.prototype.buttonClicked):
17461        * inspector/front-end/ProfilesPanel.js:
17462        (WebInspector.ProfilesPanel.prototype._setRecordingProfile):
17463        (WebInspector.ProfilesPanel.prototype._reportHeapSnapshotProgress):
17464        (WebInspector.ProfilerDispatcher.prototype.setRecordingProfile):
17465        (WebInspector.ProfilerDispatcher.prototype.reportHeapSnapshotProgress):
17466        * inspector/front-end/Settings.js:
17467        * inspector/front-end/WebKit.qrc:
17468        * inspector/front-end/inspector.html:
17469        * inspector/front-end/inspector.js:
17470        (WebInspector._createPanels):
17471
174722011-01-25  Yury Semikhatsky  <yurys@chromium.org>
17473
17474        Reviewed by Pavel Feldman.
17475
17476        Web Inspector: remove "attached" state related methods from InspectorAgent
17477        https://bugs.webkit.org/show_bug.cgi?id=53086
17478
17479        * WebCore.exp.in:
17480        * inspector/InspectorAgent.cpp:
17481        * inspector/InspectorAgent.h:
17482        * inspector/InspectorFrontendClientLocal.cpp:
17483        (WebCore::InspectorFrontendClientLocal::changeAttachedWindowHeight):
17484        (WebCore::InspectorFrontendClientLocal::restoreAttachedWindowHeight):
17485        * inspector/InspectorSettings.cpp:
17486        (WebCore::InspectorSettings::InspectorSettings):
17487        * inspector/InspectorSettings.h:
17488
174892011-01-25  Qi Zhang  <qi.2.zhang@nokia.com>
17490
17491        Reviewed by Laszlo Gombos.
17492
17493        [Symbian] RVCT fails to compile [U|I]nt[8|16|32]Array.h
17494        https://bugs.webkit.org/show_bug.cgi?id=51873
17495        
17496        Replace the using declaration, because it doesn't compile on RVCT, and WINSCW has the same issue.
17497        No new functionality so no new tests.
17498
17499        * html/canvas/Int32Array.h:
17500        (WebCore::Int32Array::set):
17501        * html/canvas/Int8Array.h:
17502        (WebCore::Int8Array::set):
17503        * html/canvas/Uint16Array.h:
17504        (WebCore::Uint16Array::set):
17505        * html/canvas/Uint32Array.h:
17506        (WebCore::Uint32Array::set):
17507        * html/canvas/Uint8Array.h:
17508        (WebCore::Uint8Array::set):
17509
175102011-01-25  Zoltan Herczeg  <zherczeg@webkit.org>
17511
17512        Reviewed by Dirk Schulze.
17513
17514        Repaint SVG elements with filter instead of relayout where possible
17515        https://bugs.webkit.org/show_bug.cgi?id=52200
17516
17517        This patch allows repainting of filters, when their
17518        attribute changes does not require relayout.
17519
17520        Existing dynamic-update tests cover this feature.
17521
17522        * platform/graphics/filters/FilterEffect.cpp:
17523        (WebCore::FilterEffect::clearResult): Clearing the currently stored image
17524        before repainting.
17525        * platform/graphics/filters/FilterEffect.h:
17526        * rendering/RenderObject.h:
17527        (WebCore::RenderObject::isSVGResourceFilter): Not only the filter primitives,
17528        but filters should also be detected to allow safe testing and casting.
17529        * rendering/svg/RenderSVGResourceFilter.cpp:
17530        (WebCore::RenderSVGResourceFilter::buildPrimitives): Passing the renderer.
17531        (WebCore::RenderSVGResourceFilter::applyResource):
17532        determineFilterPrimitiveSubregion does not require the filter anymore.
17533        (WebCore::RenderSVGResourceFilter::postApplyResource): Repaint
17534        if lastEffect->hasResult() is false.
17535        (WebCore::RenderSVGResourceFilter::primitiveAttributeChanged):
17536        Searching for all FilterEffects, whose created by the current FilterElement,
17537        and clearing all resulting images depending on those FilterEffects.
17538        * rendering/svg/RenderSVGResourceFilter.h:
17539        (WebCore::RenderSVGResourceFilter::isSVGResourceFilter):
17540        * rendering/svg/RenderSVGResourceFilterPrimitive.cpp:
17541        (WebCore::RenderSVGResourceFilterPrimitive::determineFilterPrimitiveSubregion):
17542        The filter argument is unnecessary anymore. But is is still kept as a static
17543        member, since the primitive renderer still does not know about the
17544        FilterEffect objects.
17545        * rendering/svg/RenderSVGResourceFilterPrimitive.h:
17546        (WebCore::RenderSVGResourceFilterPrimitive::RenderSVGResourceFilterPrimitive):
17547        (WebCore::RenderSVGResourceFilterPrimitive::primitiveAttributeChanged):
17548        Calls RenderSVGResourceFilter::primitiveAttributeChanged.
17549        * svg/SVGFEDiffuseLightingElement.cpp:
17550        (WebCore::SVGFEDiffuseLightingElement::setFilterEffectAttribute):
17551        Setting the new attribute value for each FilterEffect.
17552        (WebCore::SVGFEDiffuseLightingElement::svgAttributeChanged):
17553        * svg/SVGFEDiffuseLightingElement.h:
17554        Calling primitiveAttributeChanged.
17555        * svg/SVGFilterPrimitiveStandardAttributes.cpp:
17556        (WebCore::SVGFilterPrimitiveStandardAttributes::setFilterEffectAttribute):
17557        This function will be removed when all FilterElement implements
17558        their setFilterEffectAttribute
17559        * svg/SVGFilterPrimitiveStandardAttributes.h:
17560        (WebCore::SVGFilterPrimitiveStandardAttributes::primitiveAttributeChanged):
17561        * svg/graphics/filters/SVGFilterBuilder.cpp:
17562        (WebCore::SVGFilterBuilder::appendEffectToEffectReferences): The
17563        renderers are assigned to the filter effects.
17564        (WebCore::SVGFilterBuilder::clearEffects):
17565        (WebCore::SVGFilterBuilder::clearResultsRecursive): Recursively
17566        clearing the result images for those filters, whose depend on
17567        the starting filter.
17568        * svg/graphics/filters/SVGFilterBuilder.h:
17569        (WebCore::SVGFilterBuilder::effectReferences): 'get' is unnecessary
17570        (WebCore::SVGFilterBuilder::effectByRenderer): returns the
17571        FilterEffect belongs to this RenderObject.
17572
175732011-01-25  Dirk Schulze  <krit@webkit.org>
17574
17575        Reviewed by Nikolas Zimmermann.
17576
17577        SVG is missing to-animation support for Path
17578        https://bugs.webkit.org/show_bug.cgi?id=52982
17579
17580        SVG was missing 'to' animation support for SVG paths. Even the fallback to discrete
17581        animation did not work and an assert was thrown, because of the missing m_fromPath.
17582        This also influences a test of the W3C test suite. Subtest 2 of animate-elem-83-t.svg passes now.
17583
17584        Test: svg/animations/animate-path-to-animation.html
17585
17586        * svg/SVGAnimateElement.cpp:
17587        (WebCore::SVGAnimateElement::calculateAnimatedValue): Take the value of the last SVGAnimateElement for
17588        m_fromPath, since 'to' animations are accumulative.
17589        (WebCore::SVGAnimateElement::calculateFromAndToValues): Added support for 'to' animations.
17590        (WebCore::SVGAnimateElement::resetToBaseValue): Set m_animatedPath on the first animation element to baseVal.
17591        * svg/SVGPathByteStream.h:
17592        (WebCore::SVGPathByteStream::copySVGPathByteStream): Return copy of current byte stream.
17593
175942011-01-25  Pavel Feldman  <pfeldman@chromium.org>
17595
17596        Reviewed by Yury Semikhatsky.
17597
17598        Web Inspector: bind resources to URLs upon adding them into the tree.
17599        https://bugs.webkit.org/show_bug.cgi?id=53013
17600
17601        * inspector/front-end/AuditRules.js:
17602        (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback.selectorsCallback):
17603        * inspector/front-end/CSSStyleModel.js:
17604        (WebInspector.CSSStyleModel.prototype._styleSheetChanged.callback):
17605        (WebInspector.CSSStyleModel.prototype._styleSheetChanged):
17606        * inspector/front-end/DebuggerModel.js:
17607        (WebInspector.DebuggerModel.prototype._parsedScriptSource):
17608        * inspector/front-end/NetworkManager.js:
17609        (WebInspector.NetworkManager.prototype._processCachedResources):
17610        (WebInspector.NetworkManager.prototype.inflightResourceForURL):
17611        (WebInspector.NetworkDispatcher):
17612        (WebInspector.NetworkDispatcher.prototype.willSendRequest):
17613        (WebInspector.NetworkDispatcher.prototype.markResourceAsCached):
17614        (WebInspector.NetworkDispatcher.prototype.didReceiveResponse):
17615        (WebInspector.NetworkDispatcher.prototype.didReceiveContentLength):
17616        (WebInspector.NetworkDispatcher.prototype.didFinishLoading):
17617        (WebInspector.NetworkDispatcher.prototype.didFailLoading):
17618        (WebInspector.NetworkDispatcher.prototype.willSendWebSocketHandshakeRequest):
17619        (WebInspector.NetworkDispatcher.prototype.didReceiveWebSocketHandshakeResponse):
17620        (WebInspector.NetworkDispatcher.prototype.didCloseWebSocket):
17621        (WebInspector.NetworkDispatcher.prototype._appendRedirect):
17622        (WebInspector.NetworkDispatcher.prototype._startResource):
17623        (WebInspector.NetworkDispatcher.prototype._finishResource):
17624        (WebInspector.NetworkDispatcher.prototype._createResource):
17625        * inspector/front-end/ResourceTreeModel.js:
17626        (WebInspector.ResourceTreeModel.prototype.addResourceToFrame):
17627        (WebInspector.ResourceTreeModel.prototype._bindResourceURL):
17628        (WebInspector.ResourceTreeModel.prototype._clearResources):
17629        (WebInspector.ResourceTreeModel.prototype._unbindResourceURL):
17630        * inspector/front-end/ResourcesPanel.js:
17631        (WebInspector.ResourcesPanel.prototype.canShowSourceLine):
17632        (WebInspector.ResourcesPanel.prototype.showSourceLine):
17633        * inspector/front-end/ScriptsPanel.js:
17634        (WebInspector.ScriptsPanel.prototype._parsedScriptSource):
17635        (WebInspector.ScriptsPanel.prototype._addScript):
17636
176372011-01-25  Nikolas Zimmermann  <nzimmermann@rim.com>
17638
17639        Reviewed by Dirk Schulze.
17640
17641        Introduce FontMetrics abstraction
17642        https://bugs.webkit.org/show_bug.cgi?id=51456
17643
17644        Use accurate floating-point metrics for SVG Font calculations instead of casting float -> integer.
17645        This hopefully fixes differences between 32/64 bit bots.
17646
17647        Needs new layout test results for several platforms, which need to be taken from the bots landing afterwards.
17648
17649        * platform/graphics/SimpleFontData.cpp:
17650        (WebCore::SimpleFontData::SimpleFontData):
17651        (WebCore::SimpleFontData::initCharWidths):
17652
176532011-01-24  Pavel Podivilov  <podivilov@chromium.org>
17654
17655        Reviewed by Pavel Feldman.
17656
17657        Web Inspector: debugger and browser debugger agents should manage sticky breakpoints independently.
17658        https://bugs.webkit.org/show_bug.cgi?id=52999
17659
17660        * inspector/Inspector.idl:
17661        * inspector/InspectorAgent.cpp:
17662        (WebCore::InspectorAgent::didCommitLoad):
17663        (WebCore::InspectorAgent::enableDebugger):
17664        (WebCore::InspectorAgent::inspectedURLWithoutFragment):
17665        * inspector/InspectorAgent.h:
17666        * inspector/InspectorBrowserDebuggerAgent.cpp:
17667        (WebCore::InspectorBrowserDebuggerAgent::setAllBrowserBreakpoints):
17668        (WebCore::InspectorBrowserDebuggerAgent::inspectedURLChanged):
17669        (WebCore::InspectorBrowserDebuggerAgent::restoreStickyBreakpoint):
17670        * inspector/InspectorBrowserDebuggerAgent.h:
17671        * inspector/InspectorDebuggerAgent.cpp:
17672        (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
17673        (WebCore::InspectorDebuggerAgent::setAllJavaScriptBreakpoints):
17674        (WebCore::InspectorDebuggerAgent::inspectedURLChanged):
17675        (WebCore::InspectorDebuggerAgent::restoreBreakpoints):
17676        * inspector/InspectorDebuggerAgent.h:
17677        * inspector/InspectorState.cpp:
17678        (WebCore::InspectorState::InspectorState):
17679        * inspector/InspectorState.h:
17680        * inspector/front-end/BreakpointManager.js:
17681        (WebInspector.BreakpointManager):
17682        (WebInspector.BreakpointManager.prototype._projectChanged):
17683        (WebInspector.BreakpointManager.prototype._saveBreakpoints):
17684        (WebInspector.BreakpointManager.prototype._pushBreakpointsToBackend):
17685
176862011-01-25  Carlos Garcia Campos  <cgarcia@igalia.com>
17687
17688        Reviewed by Martin Robinson.
17689
17690        [GTK] Crash in some pages containing flash
17691        https://bugs.webkit.org/show_bug.cgi?id=53016
17692
17693        Flash plugin can produce X errors that are handled by the GDK X
17694        error handler, which exits the process. Since we don't want to
17695        crash due to flash bugs, we install a custom error handler to show
17696        a warning when a X error happens without aborting.
17697
17698        * plugins/gtk/PluginPackageGtk.cpp:
17699        (WebCore::webkitgtkXError):
17700        (WebCore::PluginPackage::load):
17701
177022011-01-25  Carlos Garcia Campos  <cgarcia@igalia.com>
17703
17704        Reviewed by Martin Robinson.
17705
17706        [GTK] Implement spin buttons in RenderThemeGtk
17707        https://bugs.webkit.org/show_bug.cgi?id=51454
17708
17709        Paint inner up/down buttons for spin button elements when building
17710        with GTK+ 3.x.
17711
17712        Test results will land with the GTK+ 2.x version of this patch.
17713
17714        * platform/gtk/RenderThemeGtk.h:
17715        * platform/gtk/RenderThemeGtk2.cpp:
17716        (WebCore::RenderThemeGtk::adjustInnerSpinButtonStyle):
17717        (WebCore::RenderThemeGtk::paintInnerSpinButton):
17718        * platform/gtk/RenderThemeGtk3.cpp:
17719        (WebCore::spinButtonArrowSize):
17720        (WebCore::RenderThemeGtk::adjustInnerSpinButtonStyle):
17721        (WebCore::paintSpinArrowButton):
17722        (WebCore::RenderThemeGtk::paintInnerSpinButton):
17723
177242011-01-24  Mihai Parparita  <mihaip@chromium.org>
17725
17726        Unreviewed. Missed move of one m_deleted use to be outside NDEBUG block
17727        in r76575.
17728
17729        * loader/cache/CachedResource.cpp:
17730        (WebCore::CachedResource::~CachedResource):
17731
177322011-01-24  Mihai Parparita  <mihaip@chromium.org>
17733
17734        Reviewed by Tony Chang.
17735
17736        Add runtime checks for invariants in memory cache
17737        https://bugs.webkit.org/show_bug.cgi?id=53059
17738        
17739        To help track down bug 53045, add some CRASH calls in addition to
17740        ASSERTs, so that we can track down failures in reliability bots.
17741
17742        Just some checks, no new tests necessary.
17743        
17744        * css/CSSImageValue.cpp:
17745        (WebCore::CSSImageValue::cachedImage):
17746        * loader/cache/CachedResource.h:
17747        * loader/cache/CachedResource.cpp:
17748        (WebCore::CachedResource::~CachedResource):
17749
177502011-01-24  Simon Fraser  <simon.fraser@apple.com>
17751
17752        Reviewed by Dan Bernstein.
17753
17754        Leaking CSSRuleDataList objects
17755        https://bugs.webkit.org/show_bug.cgi?id=53062
17756
17757        Fix leaked CSSRuleDataLists added to the m_pseudoRules hash.
17758
17759        * css/CSSStyleSelector.cpp:
17760        (WebCore::CSSRuleSet::~CSSRuleSet):
17761
177622011-01-24  Simon Fraser  <simon.fraser@apple.com>
17763
17764        Reviewed by Eric Seidel.
17765
17766        Refcount Images used in rendering code
17767        https://bugs.webkit.org/show_bug.cgi?id=52701
17768
17769        Change StyleImage::image(RenderObject*, const IntSize&) and
17770        CSSImageGeneratorValue::image(RenderObject*, const IntSize&) to
17771        return PassRefPtr<Image>, and adjust other code accordingly.
17772        
17773        This allows us to return one-time images, for example for CSS gradients
17774        whose appearance may change depending on factors other than the renderer
17775        and the destination size.
17776
17777        * css/CSSCanvasValue.cpp:
17778        (WebCore::CSSCanvasValue::image):
17779        * css/CSSCanvasValue.h:
17780        * css/CSSGradientValue.cpp:
17781        (WebCore::CSSGradientValue::image):
17782        * css/CSSGradientValue.h:
17783        * css/CSSImageGeneratorValue.h:
17784        * rendering/RenderBoxModelObject.cpp:
17785        (WebCore::RenderBoxModelObject::paintFillLayerExtended):
17786        (WebCore::RenderBoxModelObject::paintNinePieceImage):
17787        * rendering/RenderImage.cpp:
17788        (WebCore::RenderImage::paintReplaced):
17789        (WebCore::RenderImage::paintIntoRect):
17790        * rendering/RenderImageResource.h:
17791        (WebCore::RenderImageResource::image):
17792        * rendering/RenderImageResourceStyleImage.h:
17793        (WebCore::RenderImageResourceStyleImage::image):
17794        * rendering/RenderListMarker.cpp:
17795        (WebCore::RenderListMarker::paint):
17796        * rendering/style/StyleCachedImage.cpp:
17797        (WebCore::StyleCachedImage::image):
17798        * rendering/style/StyleCachedImage.h:
17799        * rendering/style/StyleGeneratedImage.cpp:
17800        (WebCore::StyleGeneratedImage::image):
17801        * rendering/style/StyleGeneratedImage.h:
17802        * rendering/style/StyleImage.h:
17803        * rendering/style/StylePendingImage.h:
17804        (WebCore::StylePendingImage::image):
17805        * rendering/svg/RenderSVGImage.cpp:
17806        (WebCore::RenderSVGImage::paint):
17807
178082011-01-24  Tony Chang  <tony@chromium.org>
17809
17810        Unreviewed, round ascent and descent to match old code.
17811
17812        * platform/graphics/chromium/SimpleFontDataLinux.cpp:
17813        (WebCore::SimpleFontData::platformInit):
17814
178152011-01-24  Simon Fraser  <simon.fraser@apple.com>
17816
17817        Reviewed by Chris Marrin.
17818
17819        perspective() transform function should take lengths
17820        https://bugs.webkit.org/show_bug.cgi?id=52683
17821        
17822        The argument to the perspective() transform function should
17823        be a Length, rather than a bare number. Bare numbers are still
17824        accepted (and treated as px), but this behavior is deprecated.
17825
17826        Test: animations/3d/transform-perspective.html
17827              transforms/3d/general/3dtransform-values.html
17828
17829        * css/CSSParser.cpp:
17830        (WebCore::CSSParser::parseTransform): Check the units for the perspective()
17831        function. Allow bare numbers for backwards compatibility.
17832        * css/CSSStyleSelector.cpp:
17833        (WebCore::CSSStyleSelector::createTransformOperations): Convert
17834        value to Length.
17835        * platform/graphics/transforms/PerspectiveTransformOperation.cpp:
17836        (WebCore::clampToPostiveInteger): Helper.
17837        (WebCore::PerspectiveTransformOperation::blend): Blend via Lengths.
17838        * platform/graphics/transforms/PerspectiveTransformOperation.h:
17839        (WebCore::PerspectiveTransformOperation::create): double -> Length.
17840        (WebCore::PerspectiveTransformOperation::perspective): Ditto.
17841        (WebCore::PerspectiveTransformOperation::isIdentity): Ditto.
17842        (WebCore::PerspectiveTransformOperation::apply): Ditto.
17843        (WebCore::PerspectiveTransformOperation::PerspectiveTransformOperation): Assert
17844        that the Length is a fixed type.
17845
178462011-01-24  Kent Tamura  <tkent@chromium.org>
17847
17848        Reviewed by Dimitri Glazkov.
17849
17850        [Windows] Textfield <input>s have different widths.
17851        https://bugs.webkit.org/show_bug.cgi?id=48405
17852
17853        - Apply the padding override for type=text to other textfield types too.
17854        - Reset margin value of outer spin button, which is not used in Windows.
17855        - Don't add inner spin button width to the preferred text field width.
17856          Text fields should have the identical widths regardless of the
17857          existence of spin buttons.
17858
17859        Test: fast/forms/input-widths.html
17860
17861        * css/themeWin.css:
17862        (input[type="week"]):
17863        (input[type="week"]:disabled):
17864        (input[type="search"]::-webkit-search-cancel-button):
17865        (input::-webkit-outer-spin-button):
17866        * rendering/RenderTextControlSingleLine.cpp:
17867        (WebCore::RenderTextControlSingleLine::preferredContentWidth):
17868        Don't add inner spin button width to the preferred width.
17869
178702011-01-24  Kent Tamura  <tkent@chromium.org>
17871
17872        Reviewed by Dimitri Glazkov.
17873
17874        Some bugs of search cancel button and spin button about state change in
17875        an event handler.
17876        https://bugs.webkit.org/show_bug.cgi?id=46950
17877
17878        Fix the following problems:
17879         * Type=search field didn't release event capturing
17880         * Assertion failure when an input field with spin buttons was changed
17881           to another type on focus event.
17882         * A input field with spin button didn't release event capturing when it
17883           was changed to another type on focus event.
17884
17885        Tests: fast/forms/input-number-change-type-on-focus.html
17886               fast/forms/search-hide-cancel-on-cancel.html
17887
17888        * rendering/TextControlInnerElements.cpp:
17889        (WebCore::SearchFieldCancelButtonElement::defaultEventHandler):
17890         - Make the variable 'input' RefPtr.  It makes the code simpler.
17891         - Remove visibility check on mouseup event. We should release capturing
17892           anyway because the cancel button may be invisible if JavaScript code
17893           called by the focus event removes the input value.
17894        (WebCore::SpinButtonElement::detach):
17895         - Release capturing on detach because it is possible that a spin button
17896           node is detached while it is capturing events.
17897        (WebCore::SpinButtonElement::defaultEventHandler):
17898          Take a reference to this and check renderer() after some functions which
17899          may run JavaScript code.
17900        (WebCore::InputFieldSpeechButtonElement::defaultEventHandler):
17901          Make the variable 'input' RefPtr to align other functions in this file.
17902        (WebCore::InputFieldSpeechButtonElement::setRecognitionResult): ditto.
17903        * rendering/TextControlInnerElements.h: Declare SpinButtonElement::detach().
17904
179052011-01-24  Ryosuke Niwa  <rniwa@webkit.org>
17906
17907        Reviewed by Ojan Vafai.
17908
17909        Inserting multiple whitespace using text composition (IME) should insert interleaved nbsp and whitespace.
17910        https://bugs.webkit.org/show_bug.cgi?id=52781
17911
17912        The bug was caused by stringWithRebalancedWhitespace's replacing the space at the beginning of a paragraph
17913        and the end of a paragraph by a non-breaking space after it replaced two consecutive spaces by a space and
17914        non-breaking space pattern, thereby replacing more spaces by non-breaking spaces than needed.
17915
17916        Rewrote the function using Vector<UChar> to fix the bug. New function no longer calls String::replace
17917        multiple times but instead it traverses through the string and replaces a space that immediately follows
17918        another space or appears at the beginning of a paragraph or at the end of a paragraph by a non-break space.
17919
17920        * editing/CompositeEditCommand.cpp:
17921        * editing/htmlediting.cpp:
17922        (WebCore::stringWithRebalancedWhitespace): Written.
17923        * editing/htmlediting.h:
17924        (WebCore::isWhitespace): Removed from CompositeEditCommand.cpp
17925
179262011-01-24  Kenneth Russell  <kbr@google.com>
17927
17928        Reviewed by James Robinson.
17929
17930        Web Audio API: port FFTFrame to FFTW
17931        https://bugs.webkit.org/show_bug.cgi?id=52989
17932
17933        Ported FFTFrame class to the open-source FFTW library. Tested with
17934        unit tests from Chris Rogers. Made preliminary changes to GYP
17935        files for conditional compilation of these files; will need to be
17936        adjusted once FFTW is integrated as third-party source.
17937
17938        * WebCore.gyp/WebCore.gyp:
17939        * WebCore.gypi:
17940        * platform/audio/FFTFrame.h:
17941        * platform/audio/fftw: Added.
17942        * platform/audio/fftw/FFTFrameFFTW.cpp: Added.
17943        (WebCore::FFTFrame::FFTFrame):
17944        (WebCore::FFTFrame::~FFTFrame):
17945        (WebCore::FFTFrame::multiply):
17946        (WebCore::FFTFrame::doFFT):
17947        (WebCore::FFTFrame::doInverseFFT):
17948        (WebCore::FFTFrame::cleanup):
17949        (WebCore::FFTFrame::realData):
17950        (WebCore::FFTFrame::imagData):
17951        (WebCore::FFTFrame::fftwPlanForSize):
17952
179532011-01-24  Anders Carlsson  <andersca@apple.com>
17954
17955        Reviewed by Dan Bernstein.
17956
17957        Reset the page scale factor on standard frame loads
17958        https://bugs.webkit.org/show_bug.cgi?id=53058
17959        <rdar://problem/8908844>
17960
17961        Add a symbol needed by WebKit2.
17962
17963        * WebCore.exp.in:
17964
179652011-01-24  Ryosuke Niwa  <rniwa@webkit.org>
17966
17967        Reviewed by Eric Seidel.
17968
17969        Stop instantiating legacy editing positions in InsertTextCommand, MoveSelectionCommand,
17970        ReplaceSelectionCommand, SelectionController, SpellChecker, TypingCommand, and markup.cpp
17971        https://bugs.webkit.org/show_bug.cgi?id=52676
17972
17973        Stop instantiating legacy editing positions in the following files.
17974
17975        * editing/InsertTextCommand.cpp:
17976        (WebCore::InsertTextCommand::prepareForTextInsertion):
17977        (WebCore::InsertTextCommand::performTrivialReplace):
17978        (WebCore::InsertTextCommand::input):
17979        (WebCore::InsertTextCommand::insertTab):
17980        * editing/MoveSelectionCommand.cpp:
17981        (WebCore::MoveSelectionCommand::doApply):
17982        * editing/ReplaceSelectionCommand.cpp:
17983        (WebCore::ReplaceSelectionCommand::removeUnrenderedTextNodesAtEnds):
17984        (WebCore::ReplaceSelectionCommand::mergeEndIfNeeded):
17985        (WebCore::ReplaceSelectionCommand::doApply):
17986        (WebCore::ReplaceSelectionCommand::shouldRemoveEndBR):
17987        (WebCore::ReplaceSelectionCommand::performTrivialReplace):
17988        * editing/SelectionController.cpp:
17989        (WebCore::SelectionController::setSelectionFromNone):
17990        * editing/SpellChecker.cpp:
17991        (WebCore::SpellChecker::didCheck):
17992        * editing/TypingCommand.cpp:
17993        (WebCore::TypingCommand::makeEditableRootEmpty):
17994        (WebCore::TypingCommand::deleteKeyPressed):
17995        (WebCore::TypingCommand::forwardDeleteKeyPressed):
17996        * editing/markup.cpp:
17997        (WebCore::StyledMarkupAccumulator::appendText):
17998        (WebCore::StyledMarkupAccumulator::serializeNodes):
17999        (WebCore::highestAncestorToWrapMarkup):
18000        (WebCore::createMarkup):
18001
180022011-01-24  Peter Kasting  <pkasting@google.com>
18003
18004        Reviewed by Darin Adler.
18005
18006        Roll back r67261 ("Don't fire onclick on middle clicks") due to
18007        regressions.
18008        https://bugs.webkit.org/show_bug.cgi?id=46733
18009
18010        * html/HTMLAnchorElement.cpp:
18011        (WebCore::isLinkClick):
18012        * html/HTMLInputElement.cpp:
18013        (WebCore::HTMLInputElement::preDispatchEventHandler):
18014        (WebCore::HTMLInputElement::postDispatchEventHandler):
18015        (WebCore::HTMLInputElement::defaultEventHandler):
18016        * page/EventHandler.cpp:
18017        (WebCore::EventHandler::handleMouseDoubleClickEvent):
18018        (WebCore::EventHandler::handleMouseReleaseEvent):
18019
180202011-01-24  Martin Robinson  <mrobinson@igalia.com>
18021
18022        Reviewed by Eric Seidel.
18023
18024        [GTK] Many DOM XHTML tests time out
18025        https://bugs.webkit.org/show_bug.cgi?id=52553
18026
18027        Properly handle the situation where a synchronous load fails before the inner
18028        event loop has started. In this case, we simply do not run the inner event loop,
18029        or else it will block indefinitely (since no GIO or libsoup callbacks will fire).
18030
18031        * platform/network/soup/ResourceHandleSoup.cpp:
18032        (WebCore::ResourceHandle::loadResourceSynchronously): Bail out of a synchronous
18033        load if it fails up front.
18034
180352011-01-24  Zhenyao Mo  <zmo@google.com>
18036
18037        Reviewed by Eric Seidel.
18038
18039        Cleanup WebGLGetInfo and related get*Parameter helpers in WebGLRenderingContext
18040        https://bugs.webkit.org/show_bug.cgi?id=52338
18041
18042        Removed the long/unsigned long types and corresponding get functions
18043        and use int/unsigned int instead.
18044
18045        * bindings/js/JSWebGLRenderingContextCustom.cpp:
18046        (WebCore::toJS):
18047        * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
18048        (WebCore::toV8Object):
18049        * html/canvas/WebGLGetInfo.cpp:
18050        (WebCore::WebGLGetInfo::WebGLGetInfo):
18051        (WebCore::WebGLGetInfo::getInt):
18052        (WebCore::WebGLGetInfo::getUnsignedInt):
18053        * html/canvas/WebGLGetInfo.h:
18054        * html/canvas/WebGLRenderingContext.cpp:
18055        (WebCore::WebGLRenderingContext::getBufferParameter):
18056        (WebCore::WebGLRenderingContext::getFramebufferAttachmentParameter):
18057        (WebCore::WebGLRenderingContext::getParameter):
18058        (WebCore::WebGLRenderingContext::getProgramParameter):
18059        (WebCore::WebGLRenderingContext::getRenderbufferParameter):
18060        (WebCore::WebGLRenderingContext::getShaderParameter):
18061        (WebCore::WebGLRenderingContext::getTexParameter):
18062        (WebCore::WebGLRenderingContext::getUniform):
18063        (WebCore::WebGLRenderingContext::getVertexAttrib):
18064        (WebCore::WebGLRenderingContext::getIntParameter):
18065        (WebCore::WebGLRenderingContext::getUnsignedIntParameter):
18066        * html/canvas/WebGLRenderingContext.h:
18067
180682011-01-24  Zhenyao Mo  <zmo@google.com>
18069
18070        Reviewed by Darin Adler.
18071
18072        Remove sizeInBytes from GraphicsContext3D's various implementations
18073        https://bugs.webkit.org/show_bug.cgi?id=52339
18074
18075        * html/canvas/WebGLRenderingContext.cpp:
18076        (WebCore::WebGLRenderingContext::sizeInBytes):
18077        * platform/graphics/GraphicsContext3D.h:
18078        * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
18079        * platform/graphics/qt/GraphicsContext3DQt.cpp:
18080
180812011-01-24  Adam Roben  <aroben@apple.com>
18082
18083        Windows Production build fix
18084
18085        * WebCore.vcproj/WebCore.make: Update for move of WebCore into Source.
18086
180872011-01-24  Anton Muhin  <antonm@chromium.org>
18088
18089        Reviewed by Nate Chapin.
18090
18091        [v8] Refactoring: extract IntrusiveDOMWrapperMap into a seprate class and files.
18092        https://bugs.webkit.org/show_bug.cgi?id=52911
18093
18094        Plain refactoring, covered by the existing tests.
18095
18096        * WebCore.gypi: IntrusiveDOMWrapperMap.h added.
18097        * bindings/v8/DOMDataStore.cpp: IntrusiveDOMWrapperMap is moved out of DOMDataStore class.
18098        * bindings/v8/DOMDataStore.h: IntrusiveDOMWrapperMap is moved out of DOMDataStore class.
18099        * bindings/v8/IntrusiveDOMWrapperMap.h: Added.
18100        (WebCore::ChunkedTable::ChunkedTable):
18101        (WebCore::ChunkedTable::add):
18102        (WebCore::ChunkedTable::remove):
18103        (WebCore::ChunkedTable::clear):
18104        (WebCore::ChunkedTable::visit):
18105        (WebCore::ChunkedTable::Chunk::Chunk):
18106        (WebCore::ChunkedTable::clearEntries):
18107        (WebCore::ChunkedTable::visitEntries):
18108        (WebCore::IntrusiveDOMWrapperMap::IntrusiveDOMWrapperMap):
18109        (WebCore::IntrusiveDOMWrapperMap::get):
18110        (WebCore::IntrusiveDOMWrapperMap::set):
18111        (WebCore::IntrusiveDOMWrapperMap::contains):
18112        (WebCore::IntrusiveDOMWrapperMap::visit):
18113        (WebCore::IntrusiveDOMWrapperMap::removeIfPresent):
18114        (WebCore::IntrusiveDOMWrapperMap::clear):
18115        (WebCore::IntrusiveDOMWrapperMap::ChunkedTableTraits::move):
18116        (WebCore::IntrusiveDOMWrapperMap::ChunkedTableTraits::clear):
18117        (WebCore::IntrusiveDOMWrapperMap::ChunkedTableTraits::visit):
18118        * bindings/v8/StaticDOMDataStore.h: include added.
18119
181202011-01-24  Shane Stephens  <shanestephens@google.com>
18121
18122        Reviewed by Chris Marrin.
18123
18124        TransformationMatrix multiply operations apply operands in wrong order.
18125        https://bugs.webkit.org/show_bug.cgi?id=52780
18126
18127        Rename TranformationMatrix::multLeft into multiply (the method does a multRight,
18128        not a multLeft).
18129
18130        Remove TransformationMatrix::multiply, which was actually doing a multLeft.
18131
18132        Fix TransformationMatrix::operator* and operator*= such that the operand is
18133        applied to the right-hand side of the matrix that the method is called on.
18134        i.e., previously "a * b" used to compute "b * a", and "a *= b" used to store
18135        "b * a" in "a".  This has now been fixed so "a * b" computes "a * b" and
18136        "a *= b" stores "a * b" in "a".
18137
18138        Convert all call sites for these methods to provide operands in the correct order.
18139
18140        No new tests as patch adds no new functionality.
18141
18142        * css/WebKitCSSMatrix.cpp:
18143        (WebCore::WebKitCSSMatrix::multiply):
18144        * platform/graphics/transforms/Matrix3DTransformOperation.h:
18145        (WebCore::Matrix3DTransformOperation::apply):
18146        * platform/graphics/transforms/MatrixTransformOperation.h:
18147        (WebCore::MatrixTransformOperation::apply):
18148        * platform/graphics/transforms/TransformationMatrix.cpp:
18149        (WebCore::TransformationMatrix::scaleNonUniform):
18150        (WebCore::TransformationMatrix::scale3d):
18151        (WebCore::TransformationMatrix::rotate3d):
18152        (WebCore::TransformationMatrix::skew):
18153        (WebCore::TransformationMatrix::applyPerspective):
18154        (WebCore::TransformationMatrix::multiply):
18155        (WebCore::TransformationMatrix::recompose):
18156        * platform/graphics/transforms/TransformationMatrix.h:
18157        (WebCore::TransformationMatrix::operator*=):
18158        (WebCore::TransformationMatrix::operator*):
18159        * rendering/RenderLayer.cpp:
18160        (WebCore::transparencyClipBox):
18161        * rendering/RenderObject.cpp:
18162        (WebCore::RenderObject::getTransformFromContainer):
18163        * rendering/TransformState.cpp:
18164        (WebCore::TransformState::applyTransform):
18165        (WebCore::HitTestingTransformState::applyTransform):
18166
181672011-01-24  Andrei Popescu  <andreip@google.com>
18168
18169        Reviewed by Nate Chapin.
18170
18171        IndexedDatabase methods should not take arguments of type OptionsObject
18172        https://bugs.webkit.org/show_bug.cgi?id=53012
18173
18174        This patch reverts all IDB methods, except IDBDatabase::createObjectStore and
18175        IDBObjectStore::createIndex, to using a plain list of arguments instead of
18176        grouping the various parameters inside a single OptionsObject argument.
18177        This decision was made on public-webapps@w3.org mailing list.
18178
18179        We also add support (v8 only for now) for passing DOMStringList objects as arguments to native
18180        methods. The code for obtaining a DOMStringList object from a JS array of strings existed already
18181        in OptionsObject.cpp, I just copied it to V8Bindings.cpp and taught the v8 code generator how to
18182        use it.
18183
18184        * bindings/scripts/CodeGeneratorV8.pm:
18185        * bindings/v8/V8Binding.cpp:
18186        (WebCore::v8ValueToWebCoreDOMStringList):
18187        * bindings/v8/V8Binding.h:
18188        * storage/IDBDatabase.cpp:
18189        (WebCore::IDBDatabase::transaction):
18190        * storage/IDBDatabase.h:
18191        (WebCore::IDBDatabase::transaction):
18192        * storage/IDBDatabase.idl:
18193        * storage/IDBIndex.cpp:
18194        (WebCore::IDBIndex::openCursor):
18195        (WebCore::IDBIndex::openKeyCursor):
18196        * storage/IDBIndex.h:
18197        (WebCore::IDBIndex::openCursor):
18198        (WebCore::IDBIndex::openKeyCursor):
18199        * storage/IDBIndex.idl:
18200        * storage/IDBObjectStore.cpp:
18201        (WebCore::IDBObjectStore::openCursor):
18202        * storage/IDBObjectStore.h:
18203        (WebCore::IDBObjectStore::openCursor):
18204        * storage/IDBObjectStore.idl:
18205
182062011-01-24  Pavel Feldman  <pfeldman@chromium.org>
18207
18208        Reviewed by Yury Semikhatsky.
18209
18210        Web Inspector: extract dispatch API from network manager.
18211        https://bugs.webkit.org/show_bug.cgi?id=53009
18212
18213        * WebCore.xcodeproj/project.pbxproj:
18214        * inspector/front-end/NetworkManager.js:
18215        (WebInspector.NetworkManager):
18216        (WebInspector.NetworkManager.prototype.reset):
18217        (WebInspector.NetworkManager.prototype.requestContent):
18218        (WebInspector.NetworkManager.prototype._processCachedResources):
18219        (WebInspector.NetworkDispatcher):
18220        (WebInspector.NetworkDispatcher.prototype._updateResourceWithRequest):
18221        (WebInspector.NetworkDispatcher.prototype._updateResourceWithResponse):
18222        (WebInspector.NetworkDispatcher.prototype._updateResourceWithCachedResource):
18223        (WebInspector.NetworkDispatcher.prototype.identifierForInitialRequest):
18224        (WebInspector.NetworkDispatcher.prototype.willSendRequest):
18225        (WebInspector.NetworkDispatcher.prototype.didReceiveResponse):
18226        (WebInspector.NetworkDispatcher.prototype.didLoadResourceFromMemoryCache):
18227        (WebInspector.NetworkDispatcher.prototype.didCommitLoadForFrame):
18228        (WebInspector.NetworkDispatcher.prototype.didCreateWebSocket):
18229        (WebInspector.NetworkDispatcher.prototype._appendRedirect):
18230        (WebInspector.NetworkDispatcher.prototype._startResource):
18231        (WebInspector.NetworkDispatcher.prototype._updateResource):
18232        (WebInspector.NetworkDispatcher.prototype._finishResource):
18233        (WebInspector.NetworkDispatcher.prototype._addFramesRecursively):
18234        (WebInspector.NetworkDispatcher.prototype._dispatchEventToListeners):
18235        (WebInspector.NetworkDispatcher.prototype._createResource):
18236        * inspector/front-end/Resource.js:
18237        (WebInspector.Resource.prototype._innerRequestContent):
18238        * inspector/front-end/ResourceTreeModel.js:
18239        (WebInspector.ResourceTreeModel):
18240        (WebInspector.ResourceTreeModel.prototype.reset):
18241        (WebInspector.ResourceTreeModel.prototype.unbindResourceURL):
18242
182432011-01-24  Yury Semikhatsky  <yurys@chromium.org>
18244
18245        Reviewed by Pavel Feldman.
18246
18247        Web Inspector: [JSC] remove ScriptDebugServer::pageCreated
18248        https://bugs.webkit.org/show_bug.cgi?id=53007
18249
18250        It's impossible to create "provisional" inspector for pages which are
18251        not yet created so there is no need to listen for page creation in ScriptDebugServer.
18252
18253        * bindings/js/ScriptDebugServer.cpp:
18254        * bindings/js/ScriptDebugServer.h:
18255        * page/Page.cpp:
18256        (WebCore::Page::Page):
18257
182582011-01-24  Pavel Podivilov  <podivilov@chromium.org>
18259
18260        Reviewed by Pavel Feldman.
18261
18262        Web Inspector: [REGRESSION] AppCache view on resources panel is broken.
18263        https://bugs.webkit.org/show_bug.cgi?id=53002
18264
18265
18266        * inspector/front-end/ApplicationCacheItemsView.js:
18267        (WebInspector.ApplicationCacheItemsView.prototype._update):
18268        * inspector/front-end/DOMAgent.js:
18269        (WebInspector.ApplicationCacheDispatcher.getApplicationCachesAsync):
18270
182712011-01-24  Andreas Kling  <kling@webkit.org>
18272
18273        Reviewed by Kenneth Rohde Christiansen.
18274
18275        [Qt] Fix warnings about unregistering an invalid timer
18276        https://bugs.webkit.org/show_bug.cgi?id=53006
18277
18278        The ShadowBuffer's purge timer ID was initialized with 0 which lead
18279        to us calling QObject::killTimer(0), causing some qWarnings.
18280
18281        * platform/graphics/qt/ContextShadowQt.cpp:
18282        (WebCore::ShadowBuffer::ShadowBuffer):
18283        (WebCore::ShadowBuffer::schedulePurge):
18284
182852011-01-21  Mikhail Naganov  <mnaganov@chromium.org>
18286
18287        Reviewed by Pavel Feldman.
18288
18289        Web Inspector: [Chromium] Fix heap snapshot table sorting.
18290
18291        Fix table sorting to avoid qsort instability artefacts.
18292
18293        https://bugs.webkit.org/show_bug.cgi?id=52914
18294
18295        * inspector/front-end/HeapSnapshotView.js:
18296        (WebInspector.HeapSnapshotView.prototype._sortData):
18297        (WebInspector.HeapSnapshotDataGridList.propertyComparator.comparator):
18298        (WebInspector.HeapSnapshotDataGridList.propertyComparator):
18299
183002011-01-24  Mikhail Naganov  <mnaganov@chromium.org>
18301
18302        Reviewed by Yury Semikhatsky.
18303
18304        Web Inspector: Find duplicate strings in localizedStrings.js, update it.
18305
18306        https://bugs.webkit.org/show_bug.cgi?id=53005
18307
18308        * English.lproj/localizedStrings.js:
18309
183102011-01-24  Pavel Podivilov  <podivilov@chromium.org>
18311
18312        Unreviewed, build fix  for r76509.
18313
18314        * inspector/InspectorDebuggerAgent.cpp:
18315        (WebCore::InspectorDebuggerAgent::setBreakpoint):
18316
183172011-01-24  Pavel Podivilov  <podivilov@chromium.org>
18318
18319        Unreviewed, build fix  for r76509.
18320
18321        * bindings/js/ScriptDebugServer.h:
18322
183232011-01-24  Pavel Podivilov  <podivilov@chromium.org>
18324
18325        Reviewed by Yury Semikhatsky.
18326
18327        Web Inspector: set breakpoints by line:column.
18328        https://bugs.webkit.org/show_bug.cgi?id=52615
18329
18330        * CMakeLists.txt:
18331        * GNUmakefile.am:
18332        * WebCore.gypi:
18333        * WebCore.pro:
18334        * WebCore.vcproj/WebCore.vcproj:
18335        * WebCore.xcodeproj/project.pbxproj:
18336        * bindings/js/ScriptDebugServer.cpp:
18337        (WebCore::ScriptDebugServer::setBreakpoint):
18338        (WebCore::ScriptDebugServer::removeBreakpoint):
18339        (WebCore::ScriptDebugServer::hasBreakpoint):
18340        (WebCore::ScriptDebugServer::clearBreakpoints):
18341        * bindings/js/ScriptDebugServer.h:
18342        * bindings/v8/DebuggerScript.js:
18343        ():
18344        * bindings/v8/ScriptDebugServer.cpp:
18345        (WebCore::ScriptDebugServer::setBreakpoint):
18346        * bindings/v8/ScriptDebugServer.h:
18347        * inspector/Inspector.idl:
18348        * inspector/InspectorBrowserDebuggerAgent.cpp:
18349        (WebCore::InspectorBrowserDebuggerAgent::restoreStickyBreakpoint):
18350        * inspector/InspectorDebuggerAgent.cpp:
18351        (WebCore::InspectorDebuggerAgent::setStickyBreakpoint):
18352        (WebCore::InspectorDebuggerAgent::setBreakpoint):
18353        (WebCore::InspectorDebuggerAgent::restoreBreakpoint):
18354        (WebCore::InspectorDebuggerAgent::didParseSource):
18355        * inspector/InspectorDebuggerAgent.h:
18356        * inspector/ScriptBreakpoint.cpp: Removed.
18357        * inspector/ScriptBreakpoint.h:
18358        (WebCore::ScriptBreakpoint::ScriptBreakpoint):
18359        * inspector/front-end/Breakpoint.js:
18360        (WebInspector.Breakpoint):
18361        (WebInspector.Breakpoint.prototype.get url):
18362        * inspector/front-end/BreakpointManager.js:
18363        (WebInspector.JavaScriptBreakpoint.prototype._serializeToJSON):
18364        * inspector/front-end/DebuggerModel.js:
18365        (WebInspector.DebuggerModel.prototype.continueToLine):
18366        (WebInspector.DebuggerModel.prototype.setBreakpoint):
18367        (WebInspector.DebuggerModel.prototype._breakpointSetOnBackend):
18368        (WebInspector.DebuggerDispatcher.prototype.breakpointResolved):
18369
183702011-01-24  Peter Beverloo  <peter@chromium.org>
18371
18372        Reviewed by Pavel Feldman.
18373
18374        Web Inspector: recognize application/x-font-woff as a valid mime-type.
18375        https://bugs.webkit.org/show_bug.cgi?id=52977
18376
18377        No new tests.
18378
18379        * inspector/front-end/inspector.js:
18380
183812011-01-24  Pavel Podivilov  <podivilov@chromium.org>
18382
18383        Unreviewed, fix for r76497.
18384
18385        * inspector/front-end/ResourcesPanel.js:
18386        (WebInspector.ResourcesPanel.prototype.show):
18387
183882011-01-24  Andreas Kling  <kling@webkit.org>
18389
18390        Reviewed by Tor Arne Vestbø.
18391
18392        [Qt] Use rad2deg() from WTF instead of rolling our own.
18393        https://bugs.webkit.org/show_bug.cgi?id=52993
18394
18395        * platform/graphics/qt/GraphicsContextQt.cpp:
18396        (WebCore::GraphicsContext::rotate):
18397        * platform/graphics/qt/PathQt.cpp:
18398        (WebCore::Path::addArc):
18399
184002011-01-24  Sergio Villar Senin  <svillar@igalia.com>
18401
18402        Reviewed by Martin Robinson.
18403
18404        [Gtk] ResourceHandleSoup: do not wait for streams to close to issue didFinishLoading
18405        https://bugs.webkit.org/show_bug.cgi?id=52885
18406
18407        No new tests as it does not change functionality. We will not wait for
18408        the the input stream to close to issue didFinishLoading to
18409        WebCore. We expect a subtle performance improvement with this
18410        patch when loading complex web pages, as we wouldn't have to wait
18411        for the stream to close (which involves creating a thread among
18412        other things).
18413
18414        * platform/network/soup/ResourceHandleSoup.cpp:
18415        (WebCore::closeCallback):
18416        (WebCore::readCallback):
18417
184182011-01-21  Pavel Podivilov  <podivilov@chromium.org>
18419
18420        Reviewed by Pavel Feldman.
18421
18422        Web Inspector: eliminate SourceView and ScriptView classes.
18423        https://bugs.webkit.org/show_bug.cgi?id=52896
18424
18425        SourceView and ScriptView delegate everything to SourceFrame and should be eliminated.
18426
18427        * WebCore.gypi:
18428        * WebCore.vcproj/WebCore.vcproj:
18429        * inspector/front-end/GoToLineDialog.js:
18430        (WebInspector.GoToLineDialog.prototype._highlightSelectedLine):
18431        * inspector/front-end/ResourceView.js:
18432        (WebInspector.ResourceView.createResourceView):
18433        (WebInspector.ResourceView.resourceViewTypeMatchesResource):
18434        (WebInspector.SourceFrameContentProviderForResource):  Moved from SourceView.
18435        * inspector/front-end/ResourcesPanel.js:
18436        (WebInspector.ResourcesPanel.prototype.show):
18437        (WebInspector.ResourcesPanel.prototype._applyDiffMarkup):
18438        (WebInspector.FrameResourceTreeElement.prototype._errorsWarningsUpdated):
18439        * inspector/front-end/ScriptView.js: Removed.
18440        * inspector/front-end/ScriptsPanel.js:
18441        (WebInspector.ScriptsPanel.prototype._scriptSourceChanged):
18442        (WebInspector.ScriptsPanel.prototype._sourceFrameForScriptOrResource):
18443        (WebInspector.ScriptsPanel.prototype._showScriptOrResource):
18444        (WebInspector.ScriptsPanel.prototype._setPauseOnExceptions):
18445        (WebInspector.ScriptsPanel.prototype._formatScript):
18446        (WebInspector.SourceFrameContentProviderForScript): Moved from ScriptView.
18447        * inspector/front-end/SourceFrame.js:
18448        (WebInspector.SourceFrame):
18449        (WebInspector.SourceFrame.prototype.show):
18450        (WebInspector.SourceFrame.prototype.hide):
18451        (WebInspector.SourceFrame.prototype.hasContent):
18452        (WebInspector.SourceFrame.prototype._createTextViewer):
18453        (WebInspector.SourceFrame.prototype.performSearch.doFindSearchMatches):
18454        (WebInspector.SourceFrame.prototype.performSearch):
18455        * inspector/front-end/SourceView.js: Removed.
18456        * inspector/front-end/WebKit.qrc:
18457        * inspector/front-end/inspector.html:
18458
184592011-01-24  Andras Becsi  <abecsi@webkit.org>
18460
18461        Reviewed by Csaba Osztrogonác.
18462
18463        [Qt] Move project files into Source
18464        https://bugs.webkit.org/show_bug.cgi?id=52891
18465
18466        No new tests needed.
18467
18468        * WebCore.pri:
18469        * WebCore.pro:
18470
184712011-01-24  Kent Tamura  <tkent@chromium.org>
18472
18473        Unreviewed, trivial fix.
18474
18475        Fix a Chromium-only assertion failure by r76491.
18476        https://bugs.webkit.org/show_bug.cgi?id=38982
18477
18478        Separate icon loading from the FileChooser constructor in order to avoid
18479        ref() before adoptRef().
18480
18481        * platform/FileChooser.cpp:
18482        (WebCore::FileChooser::FileChooser):
18483        (WebCore::FileChooser::initialize):
18484        (WebCore::FileChooser::create):
18485        * platform/FileChooser.h:
18486
184872011-01-24  MORITA Hajime  <morrita@google.com>
18488
18489        Reviewed by Kent Tamura.
18490
18491        TextControlInnerElement::m_shadowParent should be removed.
18492        https://bugs.webkit.org/show_bug.cgi?id=52998
18493
18494        No new tests. No behavioral change.
18495
18496        * rendering/TextControlInnerElements.cpp:
18497        (WebCore::TextControlInnerElement::TextControlInnerElement):
18498        * rendering/TextControlInnerElements.h:
18499
185002011-01-24  Yury Semikhatsky  <yurys@chromium.org>
18501
18502        Reviewed by Pavel Feldman.
18503
18504        REGRESSION (r72895): console.trace crashes
18505        https://bugs.webkit.org/show_bug.cgi?id=52981
18506
18507        - Use local RefPtr variable for accessing PassRefPtr arguments to make sure the PassRefPtr has
18508        non-null value.
18509        - Use PassRefPtr for objects whos ownership is passed to the inspector.
18510
18511        * GNUmakefile.am:
18512        * WebCore.gypi:
18513        * WebCore.pro:
18514        * WebCore.vcproj/WebCore.vcproj:
18515        * WebCore.xcodeproj/project.pbxproj:
18516        * inspector/InspectorConsoleInstrumentation.h: Added. Extract inline methods called from the console into their
18517        own header to reduce compilation time of other classes that depend on the inspector instrumentation.
18518        (WebCore::InspectorInstrumentation::addMessageToConsole):
18519        (WebCore::InspectorInstrumentation::consoleCount):
18520        (WebCore::InspectorInstrumentation::startConsoleTiming):
18521        (WebCore::InspectorInstrumentation::stopConsoleTiming):
18522        (WebCore::InspectorInstrumentation::consoleMarkTimeline):
18523        (WebCore::InspectorInstrumentation::addStartProfilingMessageToConsole):
18524        (WebCore::InspectorInstrumentation::addProfile):
18525        (WebCore::InspectorInstrumentation::profilerEnabled):
18526        (WebCore::InspectorInstrumentation::getCurrentUserInitiatedProfileName):
18527        * inspector/InspectorDatabaseInstrumentation.h: Added. Extract inline methods called from the datanase code into their
18528        own header to reduce compilation time of other classes that depend on the inspector instrumentation.
18529        (WebCore::InspectorInstrumentation::didOpenDatabase):
18530        * inspector/InspectorInstrumentation.cpp:
18531        (WebCore::InspectorInstrumentation::addMessageToConsoleImpl):
18532        (WebCore::InspectorInstrumentation::consoleCountImpl):
18533        (WebCore::InspectorInstrumentation::stopConsoleTimingImpl):
18534        (WebCore::InspectorInstrumentation::consoleMarkTimelineImpl):
18535        (WebCore::InspectorInstrumentation::addProfileImpl):
18536        (WebCore::InspectorInstrumentation::didOpenDatabaseImpl):
18537        * inspector/InspectorInstrumentation.h:
18538        * page/Console.cpp: use RefPtr local variable instead of accessing PassRefPtr argument directly.
18539        (WebCore::Console::addMessage):
18540        (WebCore::Console::trace):
18541        (WebCore::Console::count):
18542        (WebCore::Console::markTimeline):
18543        (WebCore::Console::profileEnd):
18544        (WebCore::Console::timeEnd):
18545        (WebCore::Console::group):
18546        (WebCore::Console::groupCollapsed):
18547        * storage/Database.cpp:
18548        (WebCore::Database::openDatabase):
18549
185502010-01-24  Kent Tamura  <tkent@chromium.org>
18551
18552        Reviewed by Darin Fisher.
18553
18554        [Chromium] Support icon loading for <input type=file>
18555        https://bugs.webkit.org/show_bug.cgi?id=38982
18556
18557        An icon data in Chromium port is represented as WebCore::Image. We
18558        don't need OS-specific code anymore.
18559
18560        * WebCore.gypi:
18561        * platform/graphics/Icon.h:
18562        (WebCore::Icon::create): Add Chromium-specific factory.
18563        * platform/graphics/chromium/IconChromium.cpp: Added.
18564        * platform/graphics/chromium/IconChromiumLinux.cpp: Removed.
18565        * platform/graphics/chromium/IconChromiumMac.cpp: Removed.
18566        * platform/graphics/chromium/IconChromiumWin.cpp: Removed.
18567        * platform/graphics/chromium/PlatformIcon.h:
18568
185692011-01-21  Pavel Podivilov  <podivilov@chromium.org>
18570
18571        Reviewed by Pavel Feldman.
18572
18573        Web Inspector: move search functions from SourceView to SourceFrame.
18574        https://bugs.webkit.org/show_bug.cgi?id=52895
18575
18576        This is the last step before eliminating SourceView and ScriptView since
18577        this classes just delegate everything to SourceFrame.
18578
18579        * inspector/front-end/SourceFrame.js:
18580        (WebInspector.SourceFrame.prototype.set visible):
18581        (WebInspector.SourceFrame.prototype._clearLineHighlight):
18582        (WebInspector.SourceFrame.prototype._createTextViewer):
18583        (WebInspector.SourceFrame.prototype.performSearch.doFindSearchMatches):
18584        (WebInspector.SourceFrame.prototype.performSearch):
18585        (WebInspector.SourceFrame.prototype.searchCanceled):
18586        (WebInspector.SourceFrame.prototype.jumpToFirstSearchResult):
18587        (WebInspector.SourceFrame.prototype.jumpToLastSearchResult):
18588        (WebInspector.SourceFrame.prototype.jumpToNextSearchResult):
18589        (WebInspector.SourceFrame.prototype.jumpToPreviousSearchResult):
18590        (WebInspector.SourceFrame.prototype.showingFirstSearchResult):
18591        (WebInspector.SourceFrame.prototype.showingLastSearchResult):
18592        (WebInspector.SourceFrame.prototype._jumpToSearchResult):
18593        * inspector/front-end/SourceView.js:
18594        (WebInspector.SourceView.prototype.hide):
18595        (WebInspector.SourceView.prototype.searchCanceled):
18596        (WebInspector.SourceView.prototype.performSearch):
18597        (WebInspector.SourceView.prototype.jumpToFirstSearchResult):
18598        (WebInspector.SourceView.prototype.jumpToLastSearchResult):
18599        (WebInspector.SourceView.prototype.jumpToNextSearchResult):
18600        (WebInspector.SourceView.prototype.jumpToPreviousSearchResult):
18601        (WebInspector.SourceView.prototype.showingFirstSearchResult):
18602        (WebInspector.SourceView.prototype.showingLastSearchResult):
18603        (WebInspector.SourceView.prototype.clearMessages):
18604
186052011-01-24  Sheriff Bot  <webkit.review.bot@gmail.com>
18606
18607        Unreviewed, rolling out r76463.
18608        http://trac.webkit.org/changeset/76463
18609        https://bugs.webkit.org/show_bug.cgi?id=52993
18610
18611        It broke canvas/philip/tests/2d.path.stroke.skew.html
18612        (Requested by Ossy on #webkit).
18613
18614        * platform/graphics/qt/GraphicsContextQt.cpp:
18615        (WebCore::GraphicsContext::rotate):
18616        * platform/graphics/qt/PathQt.cpp:
18617        (WebCore::Path::addArc):
18618
186192011-01-23  Andrey Kosyakov  <caseq@chromium.org>
18620
18621        Reviewed by Pavel Feldman.
18622
18623        Web Inspector: summary bar is not resized properly with the rest of network panel
18624        https://bugs.webkit.org/show_bug.cgi?id=52881
18625
18626        * inspector/front-end/NetworkPanel.js:
18627        (WebInspector.NetworkPanel.prototype.updateSidebarWidth):
18628        (WebInspector.NetworkPanel.prototype._positionSummaryBar):
18629        (WebInspector.NetworkPanel.prototype._toggleGridMode):
18630
186312011-01-19  MORITA Hajime  <morrita@google.com>
18632
18633        Reviewed by Ryosuke Niwa.
18634
18635        Space and tab characters "sent" by an input method give totally different results than typing them directly
18636        https://bugs.webkit.org/show_bug.cgi?id=5241
18637        
18638        * Introduced TextEvent::InputTypeComposition and TypingCommand::TextCompositionType to 
18639          distinguish text input which is originated by composition.
18640        * Generalized rebalanceWhitespaceAt() to rebalanceWhitespaceOnTextSubstring() to rebalancing 
18641          range of string on text node, instead of surrounding part of that.
18642
18643        Test: editing/inserting/insert-composition-whitespace.html
18644
18645        * dom/TextEvent.h:
18646        (WebCore::TextEvent::isComposition):
18647        * dom/TextEventInputType.h: Added TextEventInputComposition as a member of TextEvent::InputType
18648        * editing/CompositeEditCommand.cpp:
18649        (WebCore::containsOnlyWhitespace):
18650        (WebCore::CompositeEditCommand::shouldRebalanceLeadingWhitespaceFor):
18651        (WebCore::CompositeEditCommand::canRebalance):
18652        (WebCore::CompositeEditCommand::rebalanceWhitespaceAt):
18653        (WebCore::CompositeEditCommand::rebalanceWhitespaceOnTextSubstring): Added: A generalized version of rebalanceWhitespaceAt(), which takes a range inside Text string.
18654        * editing/CompositeEditCommand.h:
18655        * editing/Editor.cpp:
18656        (WebCore::Editor::insertTextForConfirmedComposition): Added.
18657        (WebCore::Editor::insertTextWithoutSendingTextEvent):
18658        (WebCore::Editor::confirmComposition): Now uses insertTextForConfirmedComposition().
18659        (WebCore::Editor::setComposition):
18660        * editing/Editor.h:
18661        * editing/InsertTextCommand.cpp:
18662        (WebCore::InsertTextCommand::input):
18663        * editing/InsertTextCommand.h:
18664        * editing/TypingCommand.cpp:
18665        (WebCore::TypingCommand::TypingCommand):
18666        (WebCore::TypingCommand::insertText):
18667        (WebCore::TypingCommand::insertTextRunWithoutNewlines):
18668        * editing/TypingCommand.h: Added TypingCommand::m_compositionType and TypingCommand::TextCompositionType
18669        (WebCore::TypingCommand::setCompositionType): Added.
18670        (WebCore::TypingCommand::create):
18671
186722011-01-23  Mark Rowe  <mrowe@apple.com>
18673
18674        Follow-up to r76477.
18675
18676        Fix the scripts that detect problematic code such as static initializers
18677        and destructors, weak vtables, inappropriate files in the framework wrappers,
18678        and public headers including private headers. These had all been broken
18679        since the projects were moved in to the Source directory as the paths to the
18680        scripts were not updated at that time.
18681
18682        Stop copying an IDL file in to the framework wrapper. Doing that doesn't even make sense.
18683
18684        * WebCore.xcodeproj/project.pbxproj:
18685
186862011-01-23  Mark Rowe  <mrowe@apple.com>
18687
18688        Build fix after r76459.
18689
18690        Static member variables or globals of types that have constructors or destructors are bad as
18691        they generate static initializers and destructors. This is code that is run either at link time
18692        when the library is loaded in to memory or at application termination time. Both of these are
18693        terrible for performance and are thus outlawed in WebKit code.
18694
18695        The typical solution is to replace the static member or global with a function that allocates
18696        the necessary variable on the heap. The variable is leaked to prevent it from being destroyed
18697        at application termination time. The DEFINE_STATIC_LOCAL macro wraps this in to a concise little
18698        package, but sadly fails to work in this case due to the type containing multiple template
18699        parameters.
18700        
18701        * inspector/InspectorInstrumentation.cpp:
18702        (WebCore::InspectorInstrumentation::inspectorAgents):
18703        * inspector/InspectorInstrumentation.h:
18704        (WebCore::InspectorInstrumentation::bindInspectorAgent):
18705        (WebCore::InspectorInstrumentation::unbindInspectorAgent):
18706        (WebCore::InspectorInstrumentation::inspectorAgentForPage):
18707
187082011-01-21  Vangelis Kokkevis  <vangelis@chromium.org>
18709
18710        Reviewed by Kenneth Russell.
18711
18712        [chromium] Add support for -webkit-mask properties to the
18713        accelerated compositing path.
18714        https://bugs.webkit.org/show_bug.cgi?id=49780
18715         
18716        Tests: Existing tests in LayoutTests/compositing/masks
18717
18718        * platform/graphics/chromium/ContentLayerChromium.cpp:
18719        (WebCore::ContentLayerChromium::draw):
18720        (WebCore::ContentLayerChromium::unreserveContentsTexture):
18721        (WebCore::ContentLayerChromium::bindContentsTexture):
18722        * platform/graphics/chromium/ContentLayerChromium.h:
18723        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
18724        (WebCore::GraphicsLayerChromium::setMaskLayer):
18725        * platform/graphics/chromium/GraphicsLayerChromium.h:
18726        * platform/graphics/chromium/LayerChromium.cpp:
18727        (WebCore::LayerChromium::LayerChromium):
18728        * platform/graphics/chromium/LayerChromium.h:
18729        (WebCore::LayerChromium::setMaskLayer):
18730        (WebCore::LayerChromium::maskLayer):
18731        (WebCore::LayerChromium::unreserveContentsTexture):
18732        (WebCore::LayerChromium::bindContentsTexture):
18733        * platform/graphics/chromium/LayerRendererChromium.cpp:
18734        (WebCore::LayerRendererChromium::updateLayersRecursive):
18735        * platform/graphics/chromium/LayerTexture.cpp:
18736        (WebCore::LayerTexture::bindTexture):
18737        * platform/graphics/chromium/RenderSurfaceChromium.cpp:
18738        (WebCore::RenderSurfaceChromium::SharedValues::SharedValues):
18739        (WebCore::RenderSurfaceChromium::SharedValues::~SharedValues):
18740        (WebCore::RenderSurfaceChromium::RenderSurfaceChromium):
18741        (WebCore::RenderSurfaceChromium::draw):
18742        * platform/graphics/chromium/RenderSurfaceChromium.h:
18743        (WebCore::RenderSurfaceChromium::SharedValues::maskShaderProgram):
18744        (WebCore::RenderSurfaceChromium::SharedValues::maskShaderSamplerLocation):
18745        (WebCore::RenderSurfaceChromium::SharedValues::maskShaderMaskSamplerLocation):
18746        (WebCore::RenderSurfaceChromium::SharedValues::maskShaderMatrixLocation):
18747        (WebCore::RenderSurfaceChromium::SharedValues::maskShaderAlphaLocation):
18748
187492011-01-23  Patrick Gansterer  <paroga@webkit.org>
18750
18751        Reviewed by Darin Adler.
18752
18753        Use WTF::StringHasher in WebCore
18754        https://bugs.webkit.org/show_bug.cgi?id=52934
18755
18756        * loader/appcache/ApplicationCacheStorage.cpp:
18757        (WebCore::urlHostHash):
18758        * platform/LinkHash.cpp:
18759        (WebCore::visitedLinkHashInline):
18760        * platform/cf/BinaryPropertyList.cpp:
18761        (WebCore::IntegerArrayHash::hash):
18762        * platform/graphics/wx/FontPlatformDataWx.cpp:
18763        (WebCore::FontPlatformData::computeHash):
18764        * platform/network/ProtectionSpaceHash.h:
18765        (WebCore::ProtectionSpaceHash::hash):
18766
187672011-01-23  Patrick Gansterer  <paroga@webkit.org>
18768
18769        Reviewed by David Kilzer.
18770
18771        Add an overload to base64Encode with String output
18772        https://bugs.webkit.org/show_bug.cgi?id=50122
18773
18774        This change removes duplicated code.
18775
18776        * inspector/InspectorResourceAgent.cpp:
18777        (WebCore::InspectorResourceAgent::resourceContentBase64):
18778        * page/DOMWindow.cpp:
18779        (WebCore::DOMWindow::btoa):
18780        * platform/graphics/skia/FontCustomPlatformData.cpp:
18781        (WebCore::createUniqueFontName):
18782        * platform/graphics/win/FontCustomPlatformData.cpp:
18783        (WebCore::createUniqueFontName):
18784        * platform/graphics/wince/FontCustomPlatformData.cpp:
18785        (WebCore::createUniqueFontName):
18786        * platform/network/cf/ResourceHandleCFNet.cpp:
18787        (WebCore::encodeBasicAuthorization):
18788        * platform/network/mac/ResourceHandleMac.mm:
18789        (WebCore::encodeBasicAuthorization):
18790        * platform/text/Base64.cpp:
18791        (WebCore::base64Encode):
18792        * platform/text/Base64.h:
18793        (WebCore::base64Encode):
18794        * platform/wince/KeygenWinCE.cpp:
18795        (WebCore::WebCore::signedPublicKeyAndChallengeString):
18796
187972011-01-23  Patrick Gansterer  <paroga@webkit.org>
18798
18799        Reviewed by David Kilzer.
18800
18801        Add String::containsOnlyLatin1()
18802        https://bugs.webkit.org/show_bug.cgi?id=52979
18803
18804        Use String::containsOnlyLatin1() instead of isSafeToConvertCharList().
18805
18806        * page/DOMWindow.cpp:
18807        (WebCore::DOMWindow::btoa):
18808        (WebCore::DOMWindow::atob):
18809
188102011-01-23  Patrick Gansterer  <paroga@webkit.org>
18811
18812        Reviewed by Andreas Kling.
18813
18814        [CMake] Add missing CodeGenerator dependencies
18815        https://bugs.webkit.org/show_bug.cgi?id=52976
18816
18817        * CMakeLists.txt:
18818
188192011-01-23  Yael Aharon  <yael.aharon@nokia.com>
18820
18821        Reviewed by Kenneth Rohde Christiansen.
18822
18823        [Qt][Symbian] Fix --minimal build
18824        https://bugs.webkit.org/show_bug.cgi?id=52839
18825
18826        Some of the plugins' functionality is reimplemented in
18827        Symbian specific files.
18828        Some of this functionality should be compiled in even if 
18829        the guard NETSCAPE_PLUGIN_API is turned off.
18830        This patch moves that functionality out of the
18831        NETSCAPE_PLUGIN_API guard.
18832
18833        Build fix so no new tests.
18834
18835        * WebCore.pro:
18836        * plugins/symbian/PluginPackageSymbian.cpp:
18837
188382011-01-23  Andreas Kling  <kling@webkit.org>
18839
18840        Reviewed by Tor Arne Vestbø.
18841
18842        [Qt] Use rad2deg() from WTF instead of rolling our own.
18843
18844        * platform/graphics/qt/GraphicsContextQt.cpp:
18845        (WebCore::GraphicsContext::rotate):
18846        * platform/graphics/qt/PathQt.cpp:
18847        (WebCore::Path::addArc):
18848
188492011-01-23  Kenneth Rohde Christiansen <kenneth@webkit.org>
18850
18851        Reviewed by Andreas Kling.
18852
18853        Viewport meta: Always adjust device dimensions to the device pixel ratio.
18854
18855        * dom/ViewportArguments.cpp:
18856        (WebCore::computeViewportAttributes):
18857
188582011-01-23  Andreas Kling  <kling@webkit.org>
18859
18860        Reviewed by Kenneth Rohde Christiansen.
18861
18862        Don't scale absolute geometry specified by viewport meta tag.
18863
18864        * dom/ViewportArguments.cpp:
18865        (WebCore::computeViewportAttributes):
18866
188672011-01-23  Ilya Tikhonovsky  <loislo@chromium.org>
18868
18869        Unreviewed build fix.
18870
18871        Web Inspector: looks like efl doesn't regenerate InspectorBackendDispatcher.
18872
18873        Touch Inspector.idl.
18874
18875        * inspector/Inspector.idl:
18876
188772011-01-22  Ilya Tikhonovsky  <loislo@chromium.org>
18878
18879        Reviewed by Pavel Feldman.
18880
18881        Web Inspector: next step in splitting InspectorController.
18882
18883        Splitting InspectorController is a bit tricky process.
18884
18885        As a first step I'll do the next things:
18886        1) rename existing InspectorController to InspectorAgent;
18887        2) s/nspectorController/nspectorAgent/g everywhere in WebCore/inspector but InspectorInstrumentation;
18888        3) create a fake InspectorController derived from the InspectorAgent for the rest of WebCore and WebKit;
18889
18890        The second step is a migration of a small set of functions described in bug 52510 from InspectorAgent to InspectorController.
18891
18892        As far as the second step will have significant changes in the functions' implementation I'll do it as a separate patch.
18893
18894        https://bugs.webkit.org/show_bug.cgi?id=52955
18895
18896        * CMakeLists.txt:
18897        * GNUmakefile.am:
18898        * WebCore.exp.in:
18899        * WebCore.gypi:
18900        * WebCore.pro:
18901        * WebCore.vcproj/WebCore.vcproj:
18902        * WebCore.xcodeproj/project.pbxproj:
18903        * bindings/js/JSInjectedScriptHostCustom.cpp:
18904        (WebCore::JSInjectedScriptHost::nodeForId):
18905        (WebCore::JSInjectedScriptHost::selectDOMStorage):
18906        * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
18907        (WebCore::V8InjectedScriptHost::nodeForIdCallback):
18908        * inspector/CodeGeneratorInspector.pm:
18909        * inspector/InjectedScriptHost.cpp:
18910        (WebCore::InjectedScriptHost::InjectedScriptHost):
18911        (WebCore::InjectedScriptHost::clearConsoleMessages):
18912        (WebCore::InjectedScriptHost::databaseForId):
18913        (WebCore::InjectedScriptHost::selectDatabase):
18914        (WebCore::InjectedScriptHost::selectDOMStorage):
18915        (WebCore::InjectedScriptHost::injectedScriptForMainFrame):
18916        (WebCore::InjectedScriptHost::inspectorDOMAgent):
18917        (WebCore::InjectedScriptHost::frontend):
18918        (WebCore::InjectedScriptHost::didCreateWorker):
18919        (WebCore::InjectedScriptHost::didDestroyWorker):
18920        * inspector/InjectedScriptHost.h:
18921        (WebCore::InjectedScriptHost::create):
18922        (WebCore::InjectedScriptHost::inspectorAgent):
18923        (WebCore::InjectedScriptHost::disconnectController):
18924        * inspector/InspectorAgent.cpp: Copied from Source/WebCore/inspector/InspectorController.cpp.
18925        (WebCore::InspectorAgent::InspectorAgent):
18926        (WebCore::InspectorAgent::~InspectorAgent):
18927        (WebCore::InspectorAgent::inspectedPageDestroyed):
18928        (WebCore::InspectorAgent::enabled):
18929        (WebCore::InspectorAgent::inspectorStartsAttached):
18930        (WebCore::InspectorAgent::setInspectorStartsAttached):
18931        (WebCore::InspectorAgent::setInspectorAttachedHeight):
18932        (WebCore::InspectorAgent::inspectorAttachedHeight):
18933        (WebCore::InspectorAgent::searchingForNodeInPage):
18934        (WebCore::InspectorAgent::restoreInspectorStateFromCookie):
18935        (WebCore::InspectorAgent::inspect):
18936        (WebCore::InspectorAgent::focusNode):
18937        (WebCore::InspectorAgent::highlight):
18938        (WebCore::InspectorAgent::highlightDOMNode):
18939        (WebCore::InspectorAgent::highlightFrame):
18940        (WebCore::InspectorAgent::hideHighlight):
18941        (WebCore::InspectorAgent::mouseDidMoveOverElement):
18942        (WebCore::InspectorAgent::handleMousePress):
18943        (WebCore::InspectorAgent::setInspectorFrontendClient):
18944        (WebCore::InspectorAgent::didClearWindowObjectInWorld):
18945        (WebCore::InspectorAgent::setSearchingForNode):
18946        (WebCore::InspectorAgent::connectFrontend):
18947        (WebCore::InspectorAgent::show):
18948        (WebCore::InspectorAgent::showPanel):
18949        (WebCore::InspectorAgent::close):
18950        (WebCore::InspectorAgent::disconnectFrontend):
18951        (WebCore::InspectorAgent::resourceAgent):
18952        (WebCore::InspectorAgent::releaseFrontendLifetimeAgents):
18953        (WebCore::InspectorAgent::populateScriptObjects):
18954        (WebCore::InspectorAgent::pushDataCollectedOffline):
18955        (WebCore::InspectorAgent::restoreDebugger):
18956        (WebCore::InspectorAgent::restoreProfiler):
18957        (WebCore::InspectorAgent::unbindAllResources):
18958        (WebCore::InspectorAgent::didCommitLoad):
18959        (WebCore::InspectorAgent::mainResourceFiredDOMContentEvent):
18960        (WebCore::InspectorAgent::mainResourceFiredLoadEvent):
18961        (WebCore::InspectorAgent::isMainResourceLoader):
18962        (WebCore::InspectorAgent::willSendRequest):
18963        (WebCore::InspectorAgent::ensureSettingsLoaded):
18964        (WebCore::InspectorAgent::startTimelineProfiler):
18965        (WebCore::InspectorAgent::stopTimelineProfiler):
18966        (WebCore::PostWorkerNotificationToFrontendTask::create):
18967        (WebCore::PostWorkerNotificationToFrontendTask::PostWorkerNotificationToFrontendTask):
18968        (WebCore::PostWorkerNotificationToFrontendTask::performTask):
18969        (WebCore::InspectorAgent::postWorkerNotificationToFrontend):
18970        (WebCore::InspectorAgent::didCreateWorker):
18971        (WebCore::InspectorAgent::didDestroyWorker):
18972        (WebCore::InspectorAgent::didOpenDatabase):
18973        (WebCore::InspectorAgent::getCookies):
18974        (WebCore::InspectorAgent::buildArrayForCookies):
18975        (WebCore::InspectorAgent::buildObjectForCookie):
18976        (WebCore::InspectorAgent::deleteCookie):
18977        (WebCore::InspectorAgent::didUseDOMStorage):
18978        (WebCore::InspectorAgent::didCreateWebSocket):
18979        (WebCore::InspectorAgent::willSendWebSocketHandshakeRequest):
18980        (WebCore::InspectorAgent::didReceiveWebSocketHandshakeResponse):
18981        (WebCore::InspectorAgent::didCloseWebSocket):
18982        (WebCore::InspectorAgent::isRecordingUserInitiatedProfile):
18983        (WebCore::InspectorAgent::startUserInitiatedProfiling):
18984        (WebCore::InspectorAgent::stopUserInitiatedProfiling):
18985        (WebCore::InspectorAgent::profilerEnabled):
18986        (WebCore::InspectorAgent::enableProfiler):
18987        (WebCore::InspectorAgent::disableProfiler):
18988        (WebCore::InspectorAgent::showAndEnableDebugger):
18989        (WebCore::InspectorAgent::enableDebugger):
18990        (WebCore::InspectorAgent::disableDebugger):
18991        (WebCore::InspectorAgent::resume):
18992        (WebCore::InspectorAgent::setAllBrowserBreakpoints):
18993        (WebCore::InspectorAgent::evaluateForTestInFrontend):
18994        (WebCore::InspectorAgent::didEvaluateForTestInFrontend):
18995        (WebCore::quadToPath):
18996        (WebCore::drawOutlinedQuad):
18997        (WebCore::drawOutlinedQuadWithClip):
18998        (WebCore::drawHighlightForBox):
18999        (WebCore::drawHighlightForLineBoxesOrSVGRenderer):
19000        (WebCore::convertFromFrameToMainFrame):
19001        (WebCore::frameToMainFrameOffset):
19002        (WebCore::InspectorAgent::drawNodeHighlight):
19003        (WebCore::InspectorAgent::drawElementTitle):
19004        (WebCore::InspectorAgent::openInInspectedWindow):
19005        (WebCore::InspectorAgent::addScriptToEvaluateOnLoad):
19006        (WebCore::InspectorAgent::removeAllScriptsToEvaluateOnLoad):
19007        (WebCore::InspectorAgent::setInspectorExtensionAPI):
19008        (WebCore::InspectorAgent::inspectedURL):
19009        (WebCore::InspectorAgent::reloadPage):
19010        (WebCore::InspectorAgent::setExtraHeaders):
19011        * inspector/InspectorAgent.h: Copied from Source/WebCore/inspector/InspectorController.h.
19012        (WebCore::InspectorAgent::inspectorBackendDispatcher):
19013        (WebCore::InspectorAgent::inspectorClient):
19014        (WebCore::InspectorAgent::injectedScriptHost):
19015        (WebCore::InspectorAgent::inspectedPage):
19016        (WebCore::InspectorAgent::hideDOMNodeHighlight):
19017        (WebCore::InspectorAgent::hideFrameHighlight):
19018        (WebCore::InspectorAgent::frontend):
19019        (WebCore::InspectorAgent::inspectorController):
19020        (WebCore::InspectorAgent::inspectorAgent):
19021        (WebCore::InspectorAgent::consoleAgent):
19022        (WebCore::InspectorAgent::cssAgent):
19023        (WebCore::InspectorAgent::domAgent):
19024        (WebCore::InspectorAgent::injectedScriptAgent):
19025        (WebCore::InspectorAgent::runtimeAgent):
19026        (WebCore::InspectorAgent::timelineAgent):
19027        (WebCore::InspectorAgent::databaseAgent):
19028        (WebCore::InspectorAgent::domStorageAgent):
19029        (WebCore::InspectorAgent::fileSystemAgent):
19030        (WebCore::InspectorAgent::browserDebuggerAgent):
19031        (WebCore::InspectorAgent::debuggerAgent):
19032        (WebCore::InspectorAgent::profilerAgent):
19033        (WebCore::InspectorAgent::applicationCacheAgent):
19034        (WebCore::InspectorAgent::hasInspectorFrontendClient):
19035        (WebCore::InspectorAgent::hasFrontend):
19036        (WebCore::InspectorAgent::startProfiling):
19037        (WebCore::InspectorAgent::stopProfiling):
19038        (WebCore::InspectorAgent::debuggerEnabled):
19039        (WebCore::InspectorAgent::state):
19040        (WebCore::InspectorAgent::settings):
19041        * inspector/InspectorApplicationCacheAgent.cpp:
19042        (WebCore::InspectorApplicationCacheAgent::InspectorApplicationCacheAgent):
19043        (WebCore::InspectorApplicationCacheAgent::getApplicationCaches):
19044        * inspector/InspectorApplicationCacheAgent.h:
19045        * inspector/InspectorBrowserDebuggerAgent.cpp:
19046        (WebCore::InspectorBrowserDebuggerAgent::InspectorBrowserDebuggerAgent):
19047        (WebCore::InspectorBrowserDebuggerAgent::inspectedURLChanged):
19048        (WebCore::InspectorBrowserDebuggerAgent::restoreStickyBreakpoint):
19049        (WebCore::InspectorBrowserDebuggerAgent::setDOMBreakpoint):
19050        (WebCore::InspectorBrowserDebuggerAgent::removeDOMBreakpoint):
19051        (WebCore::InspectorBrowserDebuggerAgent::willInsertDOMNode):
19052        (WebCore::InspectorBrowserDebuggerAgent::willRemoveDOMNode):
19053        (WebCore::InspectorBrowserDebuggerAgent::willModifyDOMAttr):
19054        (WebCore::InspectorBrowserDebuggerAgent::descriptionForDOMEvent):
19055        (WebCore::InspectorBrowserDebuggerAgent::pauseOnNativeEventIfNeeded):
19056        (WebCore::InspectorBrowserDebuggerAgent::willSendXMLHttpRequest):
19057        * inspector/InspectorBrowserDebuggerAgent.h:
19058        (WebCore::InspectorBrowserDebuggerAgent::create):
19059        * inspector/InspectorConsoleAgent.cpp:
19060        (WebCore::InspectorConsoleAgent::InspectorConsoleAgent):
19061        (WebCore::InspectorConsoleAgent::~InspectorConsoleAgent):
19062        (WebCore::InspectorConsoleAgent::clearConsoleMessages):
19063        (WebCore::InspectorConsoleAgent::addMessageToConsole):
19064        (WebCore::InspectorConsoleAgent::resourceRetrievedByXMLHttpRequest):
19065        (WebCore::InspectorConsoleAgent::didReceiveResponse):
19066        (WebCore::InspectorConsoleAgent::didFailLoading):
19067        (WebCore::InspectorConsoleAgent::setMonitoringXHREnabled):
19068        (WebCore::InspectorConsoleAgent::setConsoleMessagesEnabled):
19069        (WebCore::InspectorConsoleAgent::addConsoleMessage):
19070        * inspector/InspectorConsoleAgent.h:
19071        * inspector/InspectorController.cpp:
19072        (WebCore::InspectorController::InspectorController):
19073        * inspector/InspectorController.h:
19074        * inspector/InspectorDatabaseAgent.cpp:
19075        * inspector/InspectorDebuggerAgent.cpp:
19076        (WebCore::InspectorDebuggerAgent::create):
19077        (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
19078        (WebCore::InspectorDebuggerAgent::~InspectorDebuggerAgent):
19079        (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
19080        (WebCore::InspectorDebuggerAgent::getCompletionsOnCallFrame):
19081        (WebCore::InspectorDebuggerAgent::currentCallFrames):
19082        * inspector/InspectorDebuggerAgent.h:
19083        * inspector/InspectorFileSystemAgent.cpp:
19084        (WebCore::InspectorFileSystemAgentCallbacks::didOpenFileSystem):
19085        (WebCore::InspectorFileSystemAgent::InspectorFileSystemAgent):
19086        (WebCore::InspectorFileSystemAgent::stop):
19087        (WebCore::InspectorFileSystemAgent::getFileSystemPathAsync):
19088        (WebCore::InspectorFileSystemAgent::didGetFileSystemPath):
19089        (WebCore::InspectorFileSystemAgent::didGetFileSystemError):
19090        * inspector/InspectorFileSystemAgent.h:
19091        (WebCore::InspectorFileSystemAgent::create):
19092        * inspector/InspectorFrontendHost.cpp:
19093        (WebCore::InspectorFrontendHost::setExtensionAPI):
19094        * inspector/InspectorProfilerAgent.cpp:
19095        (WebCore::InspectorProfilerAgent::create):
19096        (WebCore::InspectorProfilerAgent::InspectorProfilerAgent):
19097        (WebCore::InspectorProfilerAgent::addProfileFinishedMessageToConsole):
19098        (WebCore::InspectorProfilerAgent::addStartProfilingMessageToConsole):
19099        (WebCore::InspectorProfilerAgent::startUserInitiatedProfiling):
19100        (WebCore::InspectorProfilerAgent::stopUserInitiatedProfiling):
19101        * inspector/InspectorProfilerAgent.h:
19102
191032011-01-22  Chris Rogers  <crogers@google.com>
19104
19105        Rubber-stamped by Anders Carlsson.
19106
19107        Fix FFTFrameStub to compile properly
19108        https://bugs.webkit.org/show_bug.cgi?id=52969
19109
19110        No new tests since this is a build fix.
19111
19112        * platform/audio/FFTFrameStub.cpp:
19113        (WebCore::FFTFrame::FFTFrame):
19114
191152011-01-22  Andrei Popescu  <andreip@google.com>
19116
19117        Reviewed by Jeremy Orlow.
19118
19119        IndexedDB corrupts data on disk
19120        https://bugs.webkit.org/show_bug.cgi?id=52890
19121
19122        We need to store the SerializedScriptValues on disk in a BLOB column rather than TEXT.
19123        Test: storage/indexeddb/data-corruption.html
19124
19125        * platform/sql/SQLiteStatement.cpp:
19126        (WebCore::SQLiteStatement::bindBlob):
19127        (WebCore::SQLiteStatement::getColumnBlobAsString):
19128        (WebCore::SQLiteStatement::getColumnBlobAsVector):
19129        * platform/sql/SQLiteStatement.h:
19130        * storage/IDBCursorBackendImpl.cpp:
19131        (WebCore::IDBCursorBackendImpl::loadCurrentRow):
19132        * storage/IDBFactoryBackendImpl.cpp:
19133        (WebCore::runCommands):
19134        (WebCore::createTables):
19135        (WebCore::createMetaDataTable):
19136        (WebCore::migrateDatabase):
19137        * storage/IDBObjectStoreBackendImpl.cpp:
19138        (WebCore::IDBObjectStoreBackendImpl::getInternal):
19139        (WebCore::putObjectStoreData):
19140
191412011-01-22  Nikolas Zimmermann  <nzimmermann@rim.com>
19142
19143        Not reviewed. Fix WinCE build.
19144
19145        * platform/graphics/wince/GraphicsContextWinCE.cpp:
19146        (WebCore::GraphicsContext::drawText):
19147        * rendering/RenderThemeWinCE.cpp:
19148        (WebCore::RenderThemeWinCE::adjustMenuListButtonStyle):
19149
191502011-01-22  Nikolas Zimmermann  <nzimmermann@rim.com>
19151
19152        Reviewed by Dirk Schulze.
19153
19154        REGRESSION: Vertical line metrics incorrect
19155        https://bugs.webkit.org/show_bug.cgi?id=52960
19156
19157        SimpleFontDataMac.mm contains a hack to modifiy lineGap/descent for the 'Hiragino' font.
19158        That didn't influence the lineSpacing so far, but does now, causing regressions.
19159
19160        Restore old line spacing behaviour to fix the regression.
19161        Covered by existing fast/blockflow, fast/repaint and fast/text/international test cases.
19162
19163        * platform/graphics/FontMetrics.h:
19164        (WebCore::FontMetrics::FontMetrics):
19165        (WebCore::FontMetrics::floatLineSpacing):
19166        (WebCore::FontMetrics::setLineSpacing):
19167        (WebCore::FontMetrics::lineSpacing):
19168        (WebCore::FontMetrics::reset):
19169        * platform/graphics/SimpleFontData.cpp:
19170        (WebCore::SimpleFontData::SimpleFontData):
19171        * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:
19172        (WebCore::SimpleFontData::platformInit):
19173        * platform/graphics/chromium/SimpleFontDataLinux.cpp:
19174        (WebCore::SimpleFontData::platformInit):
19175        * platform/graphics/freetype/SimpleFontDataFreeType.cpp:
19176        (WebCore::SimpleFontData::platformInit):
19177        * platform/graphics/haiku/SimpleFontDataHaiku.cpp:
19178        (WebCore::SimpleFontData::platformInit):
19179        * platform/graphics/mac/SimpleFontDataMac.mm:
19180        (WebCore::SimpleFontData::platformInit):
19181        * platform/graphics/pango/SimpleFontDataPango.cpp:
19182        (WebCore::SimpleFontData::platformInit):
19183        * platform/graphics/qt/SimpleFontDataQt.cpp:
19184        (WebCore::SimpleFontData::platformInit):
19185        * platform/graphics/win/SimpleFontDataCGWin.cpp:
19186        (WebCore::SimpleFontData::platformInit):
19187        * platform/graphics/win/SimpleFontDataCairoWin.cpp:
19188        (WebCore::SimpleFontData::platformInit):
19189        * platform/graphics/win/SimpleFontDataWin.cpp:
19190        (WebCore::SimpleFontData::initGDIFont):
19191        * platform/graphics/wince/SimpleFontDataWinCE.cpp:
19192        (WebCore::SimpleFontData::platformInit):
19193        * platform/graphics/wx/SimpleFontDataWx.cpp:
19194        (WebCore::SimpleFontData::platformInit):
19195
191962011-01-22  Andreas Kling  <kling@webkit.org>
19197
19198        Reviewed by Kenneth Rohde Christiansen.
19199
19200        [Qt] fast/backgrounds/svg-as-mask.html fails
19201        https://bugs.webkit.org/show_bug.cgi?id=52906
19202
19203        Transparency layers should start out with in SourceOver mode with
19204        alpha 1.0 (modeled after CGContextBeginTransparencyLayer.)
19205
19206        * platform/graphics/qt/TransparencyLayer.h:
19207        (WebCore::TransparencyLayer::TransparencyLayer):
19208
192092011-01-22  Nikolas Zimmermann  <nzimmermann@rim.com>
19210
19211        Not reviewed.
19212
19213        Introduce FontMetrics abstraction
19214        https://bugs.webkit.org/show_bug.cgi?id=51456
19215
19216        Fix Chromium/Win build.
19217
19218        * platform/graphics/chromium/UniscribeHelperTextRun.cpp: s/->/./
19219        (WebCore::UniscribeHelperTextRun::UniscribeHelperTextRun):
19220
192212011-01-21  Nikolas Zimmermann  <nzimmermann@rim.com>
19222
19223        Reviewed by Dirk Schulze.
19224
19225        Introduce FontMetrics abstraction
19226        https://bugs.webkit.org/show_bug.cgi?id=51456
19227
19228        Encapsulate ascent/descent/lineHeight/lineGap methods in a single FontMetrics class, instead of
19229        having to define them in both Font & SimpleFontData. Changed to store floating point values
19230        as default, in order to get accurate information for small sized fonts. All these methods
19231        now have floating-point and integer versions. Whenever an integer variant of these functions
19232        is called, lroundf() is used to round the value.
19233
19234        This makes it possible to support small font-sizes for SVG in a follow-up patch, as well
19235        as fixing rounding issues when using SVG Fonts.
19236        
19237        Shouldn't affect existing tests.
19238
19239        * GNUmakefile.am: Add FontMetrics.h to build. 
19240        * WebCore.gypi: Ditto.
19241        * WebCore.pro: Ditto.
19242        * WebCore.vcproj/WebCore.vcproj: Ditto.
19243        * WebCore.xcodeproj/project.pbxproj: Ditto.
19244        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: Use style->fontMetrics() instead of style->font() to access the metrics.
19245        (baselinePositionForAccessibilityRenderObject):
19246        * css/CSSPrimitiveValue.cpp:         
19247        (WebCore::CSSPrimitiveValue::computeLengthDouble):
19248        * html/canvas/CanvasRenderingContext2D.cpp: Ditto.
19249        (WebCore::CanvasRenderingContext2D::drawTextInternal):
19250        * inspector/InspectorController.cpp: Ditto.
19251        (WebCore::InspectorController::drawElementTitle):
19252        * platform/chromium/PopupMenuChromium.cpp: Ditto.
19253        (WebCore::PopupListBox::paintRow):
19254        (WebCore::PopupListBox::getRowHeight):
19255        * platform/graphics/Font.h: Remove ascent/descent/height/lineGap/lineSpacing/xHeight/unitsPerEm accessor...
19256        (WebCore::Font::fontMetrics): ... and only expose a single FontMetrics object here.
19257        * platform/graphics/FontFastPath.cpp: Use fontMetrics() to query metrics information.
19258        (WebCore::Font::emphasisMarkAscent):
19259        (WebCore::Font::emphasisMarkDescent):
19260        (WebCore::Font::emphasisMarkHeight):
19261        (WebCore::Font::floatWidthForSimpleText):
19262        * platform/graphics/FontMetrics.h: Added.
19263        (WebCore::FontMetrics::FontMetrics): Creates a FontMetrics object, stored in SimpleFontData.
19264        (WebCore::FontMetrics::unitsPerEm): Returns an unsigned describing the unitsPerEm.
19265        (WebCore::FontMetrics::setUnitsPerEm): Sets the unitsPerEm value.
19266        (WebCore::FontMetrics::floatAscent): Returns the stored m_ascent float.
19267        (WebCore::FontMetrics::setAscent): Sets the stored m_ascent float.
19268        (WebCore::FontMetrics::floatDescent): Returns the stored m_descent float.
19269        (WebCore::FontMetrics::setDescent): Sets the stored m_descent float.
19270        (WebCore::FontMetrics::floatHeight): Returns floatAscent() + floatDescent().
19271        (WebCore::FontMetrics::floatLineGap): Returns the stored m_lineGap float.
19272        (WebCore::FontMetrics::setLineGap): Sets the stored m_lineGap float.
19273        (WebCore::FontMetrics::floatLineSpacing): Returns the stored m_lineSpacing float.
19274        (WebCore::FontMetrics::setLineSpacing): Sets the stored m_lineSpacing float.
19275        (WebCore::FontMetrics::xHeight): Returns the stored m_xHeight float (no integer version available, hence no 'float' prefix).
19276        (WebCore::FontMetrics::setXHeight): Sets the stored m_xHeight float.
19277        (WebCore::FontMetrics::ascent): Returns a rounded version of ascent().
19278        (WebCore::FontMetrics::descent): Ditto (for descent).
19279        (WebCore::FontMetrics::height): Returns ascent() + descent().
19280        (WebCore::FontMetrics::lineGap): Returns a rounded version of lineGap().
19281        (WebCore::FontMetrics::lineSpacing): Ditto (for lineSpacing).
19282        (WebCore::FontMetrics::reset): Nulls all members, used only by the platform variants of SimpleFontData.
19283        * platform/graphics/SimpleFontData.cpp: Adapt SVG Fonts code, to initialize the FontMetrics object, as the m_ascent/etc.. members are gone.
19284        (WebCore::SimpleFontData::SimpleFontData):
19285        (WebCore::SimpleFontData::initCharWidths):
19286        * platform/graphics/SimpleFontData.h: Remove ascent/descent/height/lineSpacing/lineGap/xHeight/unitsPerEm accessors, and members, just store a FontMetrics object and expose it.
19287        (WebCore::SimpleFontData::fontMetrics):
19288        (WebCore::SimpleFontData::avgCharWidth):
19289        * platform/graphics/chromium/FontChromiumWin.cpp: Use fontMetrics() to query font metrics.
19290        (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::estimateTextBounds):
19291        (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::drawGlyphs):
19292        (WebCore::TransparencyAwareFontPainter::TransparencyAwareUniscribePainter::estimateTextBounds):
19293        (WebCore::Font::drawComplexText):
19294        * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp: Adapt platform code, to initialize the FontMetrics object.
19295        (WebCore::SimpleFontData::platformInit):
19296        * platform/graphics/chromium/SimpleFontDataLinux.cpp: Ditto.
19297        (WebCore::SimpleFontData::platformInit):
19298        * platform/graphics/chromium/UniscribeHelperTextRun.cpp: Use fontMetrics() to query font metrics.
19299        (WebCore::UniscribeHelperTextRun::UniscribeHelperTextRun):
19300        (WebCore::UniscribeHelperTextRun::nextWinFontData):
19301        * platform/graphics/freetype/SimpleFontDataFreeType.cpp: Adapt platform code, to initialize the FontMetrics object.
19302        (WebCore::SimpleFontData::platformInit):
19303        * platform/graphics/haiku/SimpleFontDataHaiku.cpp: Ditto.
19304        (WebCore::SimpleFontData::platformInit):
19305        * platform/graphics/mac/FontComplexTextMac.cpp: Use fontMetrics() to query font metrics.
19306        (WebCore::Font::floatWidthForComplexText):
19307        * platform/graphics/mac/FontMac.mm: Ditto.
19308        (WebCore::showGlyphsWithAdvances):
19309        * platform/graphics/mac/SimpleFontDataMac.mm: Adapt platform code, to initialize the FontMetrics object.
19310        (WebCore::SimpleFontData::platformInit):
19311        (WebCore::SimpleFontData::platformCharWidthInit):
19312        * platform/graphics/pango/SimpleFontDataPango.cpp: Ditto.
19313        (WebCore::SimpleFontData::platformInit):
19314        * platform/graphics/qt/SimpleFontDataQt.cpp: Ditto. (+ Switch to QFontMetricsF to get floating-point accurancy.)
19315        (WebCore::SimpleFontData::platformInit):
19316        * platform/graphics/win/FontCGWin.cpp: Use fontMetrics() to query font metrics.
19317        (WebCore::drawGDIGlyphs):
19318        * platform/graphics/win/FontWin.cpp: Ditto.
19319        (WebCore::Font::floatWidthForComplexText):
19320        * platform/graphics/win/SimpleFontDataCGWin.cpp: Adapt platform code, to initialize the FontMetrics object.
19321        (WebCore::SimpleFontData::platformInit):
19322        (WebCore::SimpleFontData::platformBoundsForGlyph):
19323        * platform/graphics/win/SimpleFontDataCairoWin.cpp: Ditto.
19324        (WebCore::SimpleFontData::platformInit):
19325        * platform/graphics/win/SimpleFontDataWin.cpp: Ditto.
19326        (WebCore::SimpleFontData::initGDIFont):
19327        * platform/graphics/wince/GraphicsContextWinCE.cpp: Use fontMetrics() to query font metrics.
19328        (WebCore::GraphicsContext::drawText):
19329        * platform/graphics/wince/SimpleFontDataWinCE.cpp: Adapt platform code, to initialize the FontMetrics object.
19330        (WebCore::SimpleFontData::platformInit):
19331        * platform/graphics/wx/SimpleFontDataWx.cpp: Ditto.
19332        (WebCore::SimpleFontData::platformInit):
19333        * platform/win/PopupMenuWin.cpp: Use style->fontMetrics() instead of style->font() to access the metrics.
19334        (WebCore::PopupMenuWin::calculatePositionAndSize): 
19335        (WebCore::PopupMenuWin::paint):
19336        * rendering/EllipsisBox.cpp: Ditto.
19337        (WebCore::EllipsisBox::paint):
19338        (WebCore::EllipsisBox::nodeAtPoint):
19339        * rendering/InlineBox.cpp: Ditto.
19340        (WebCore::InlineBox::logicalHeight):
19341        * rendering/InlineFlowBox.cpp: Ditto.
19342        (WebCore::verticalPositionForBox):
19343        (WebCore::InlineFlowBox::computeLogicalBoxHeights):
19344        (WebCore::InlineFlowBox::placeBoxesInBlockDirection):
19345        * rendering/InlineTextBox.cpp: Ditto.
19346        (WebCore::InlineTextBox::paint):
19347        (WebCore::InlineTextBox::paintDecoration):
19348        (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
19349        (WebCore::InlineTextBox::paintCompositionUnderline):
19350        * rendering/RenderBlock.cpp: Ditto.
19351        (WebCore::RenderBlock::baselinePosition):
19352        (WebCore::RenderBlock::firstLineBoxBaseline):
19353        (WebCore::RenderBlock::lastLineBoxBaseline):
19354        * rendering/RenderBox.cpp: Ditto.
19355        (WebCore::RenderBox::localCaretRect):
19356        * rendering/RenderEmbeddedObject.cpp: Ditto.
19357        (WebCore::RenderEmbeddedObject::paintReplaced):
19358        * rendering/RenderImage.cpp: Ditto.
19359        (WebCore::RenderImage::setImageSizeForAltText):
19360        (WebCore::RenderImage::paintReplaced):
19361        * rendering/RenderInline.cpp: Ditto.
19362        (WebCore::RenderInline::baselinePosition):
19363        * rendering/RenderListBox.cpp: Ditto.
19364        (WebCore::RenderListBox::paintItemForeground):
19365        (WebCore::RenderListBox::itemHeight):
19366        * rendering/RenderListMarker.cpp: Ditto.
19367        (WebCore::RenderListMarker::paint):
19368        (WebCore::RenderListMarker::layout):
19369        (WebCore::RenderListMarker::computePreferredLogicalWidths):
19370        (WebCore::RenderListMarker::updateMargins):
19371        (WebCore::RenderListMarker::getRelativeMarkerRect):
19372        * rendering/RenderTextControl.cpp: Ditto.
19373        (WebCore::RenderTextControl::paintPlaceholder):
19374        * rendering/RenderTextControlSingleLine.cpp: Ditto.
19375        (WebCore::RenderTextControlSingleLine::createInnerTextStyle):
19376        * rendering/RenderThemeWin.cpp: Ditto.
19377        (WebCore::RenderThemeWin::adjustMenuListButtonStyle):
19378        * rendering/mathml/RenderMathMLFraction.cpp: Ditto.
19379        (WebCore::RenderMathMLFraction::baselinePosition):
19380        * rendering/style/RenderStyle.h: Add "const FontMetrics& fontMetrics() const" accessor.
19381        (WebCore::InheritedFlags::fontMetrics):
19382        (WebCore::InheritedFlags::computedLineHeight):
19383        * rendering/svg/RenderSVGInlineText.cpp: Use style->fontMetrics() instead of style->font() to access the metrics.
19384        (WebCore::RenderSVGInlineText::positionForPoint):
19385        * rendering/svg/SVGInlineTextBox.cpp: Ditto.
19386        (WebCore::SVGInlineTextBox::selectionRectForTextFragment):
19387        (WebCore::positionOffsetForDecoration):
19388        (WebCore::SVGInlineTextBox::paintDecorationWithStyle):
19389        (WebCore::SVGInlineTextBox::paintTextWithShadows):
19390        (WebCore::SVGInlineTextBox::calculateBoundaries):
19391        * rendering/svg/SVGTextLayoutEngineBaseline.cpp: Ditto.
19392        (WebCore::SVGTextLayoutEngineBaseline::calculateBaselineShift):
19393        (WebCore::SVGTextLayoutEngineBaseline::calculateAlignmentBaselineShift):
19394        (WebCore::SVGTextLayoutEngineBaseline::calculateGlyphAdvanceAndOrientation):
19395        * rendering/svg/SVGTextLayoutEngineSpacing.cpp: Ditto.
19396        (WebCore::SVGTextLayoutEngineSpacing::calculateSVGKerning):
19397        * rendering/svg/SVGTextMetrics.cpp: Ditto.
19398        (WebCore::SVGTextMetrics::SVGTextMetrics):
19399        * rendering/svg/SVGTextQuery.cpp: Ditto.
19400        (WebCore::calculateGlyphBoundaries):
19401        * svg/SVGFontFaceElement.cpp: 
19402        (WebCore::SVGFontFaceElement::unitsPerEm): Rename defaultUnitsPerEm global to gDefaultUnitsPerEm.
19403        * svg/SVGLength.cpp: Use style->fontMetrics() instead of style->font() to access the metrics.
19404        (WebCore::SVGLength::convertValueFromUserUnitsToEXS):
19405        (WebCore::SVGLength::convertValueFromEXSToUserUnits):
19406
194072011-01-22  Ryosuke Niwa  <rniwa@webkit.org>
19408
19409        Reviewed by Eric Seidel.
19410
19411        Stop instantiating legacy editing positions in VisibleSelection, visible_units.cpp, Frame, and RenderBlock
19412        https://bugs.webkit.org/show_bug.cgi?id=52759
19413
19414        Stopped instantiating legacy editing positions in the following files.
19415
19416        * editing/VisibleSelection.cpp:
19417        (WebCore::VisibleSelection::adjustSelectionToAvoidCrossingEditingBoundaries):
19418        * editing/visible_units.cpp:
19419        (WebCore::previousBoundary):
19420        (WebCore::previousLinePosition):
19421        (WebCore::nextLinePosition):
19422        (WebCore::startOfBlock):
19423        * page/Frame.cpp:
19424        (WebCore::Frame::visiblePositionForPoint):
19425        * rendering/RenderBlock.cpp: Removed RenderBlock::positionForRenderer because it was not called anywhere.
19426        * rendering/RenderBlock.h: Ditto.
19427
194282011-01-22  Adrienne Walker  <enne@google.com>
19429
19430        Reviewed by James Robinson.
19431
19432        [chromium] Fix compositor repaints for offscreen fixed elements
19433        https://bugs.webkit.org/show_bug.cgi?id=52681
19434
19435        The fast path scrolling was clipping offscreen invalidations.
19436        Additionally, the compositor was ignoring all invalidations that were
19437        entirely out of the content rect.
19438
19439        Test: compositing/ to verify this caused no regressions.
19440        Tested fix manually in browser as I could not generate a LayoutTest that reproduced the bug in run-webkit-tests.
19441
19442        * page/FrameView.cpp:
19443        (WebCore::FrameView::scrollContentsFastPath):
19444        * platform/graphics/chromium/LayerRendererChromium.cpp:
19445        (WebCore::LayerRendererChromium::invalidateRootLayerRect):
19446
194472011-01-22  Alexey Proskuryakov  <ap@apple.com>
19448
19449        Reviewed by Dan Bernstein.
19450
19451        https://bugs.webkit.org/show_bug.cgi?id=52951
19452        WebKit2 generates a bad PDF for cross process messaging
19453
19454        * page/PrintContext.cpp: (WebCore::PrintContext::spoolRect): Use a correct offset to actually
19455        draw inside the requested rectangle.
19456
194572011-01-21  Yury Semikhatsky  <yurys@chromium.org>
19458
19459        Reviewed by Adam Barth.
19460
19461        Regression: new window.onerror() implementation leaks cross-origin Javascript errors
19462        https://bugs.webkit.org/show_bug.cgi?id=52903
19463
19464        In case of an exception in a script from different domain only generic message
19465        will be passed to window.onerror hander.
19466
19467        Tests: http/tests/security/cross-origin-script-window-onerror-redirected.html
19468               http/tests/security/cross-origin-script-window-onerror.html
19469
19470        * bindings/js/CachedScriptSourceProvider.h: use URL from the resource response to make sure we do all
19471        cross origin checks agains real script URL, not the original URL which may have resulted in a sequence
19472        of redirects to different domains.
19473        (WebCore::CachedScriptSourceProvider::CachedScriptSourceProvider):
19474        * bindings/v8/ScriptSourceCode.h: same for v8.
19475        (WebCore::ScriptSourceCode::url):
19476        * dom/ScriptExecutionContext.cpp:
19477        (WebCore::ScriptExecutionContext::dispatchErrorEvent): in case the error occurred in a script we cannot
19478        access provide concise "Script error." message without any information about the error source. This is
19479        what Firefox does in this case.
19480
194812011-01-21  Andreas Kling  <kling@webkit.org>
19482
19483        Reviewed by Kenneth Rohde Christiansen.
19484
19485        [Qt] Always set composition mode through GraphicsContext
19486        https://bugs.webkit.org/show_bug.cgi?id=52940
19487
19488        GraphicsContext tracks the current composition mode so we should
19489        never call through to the QPainter directly.
19490
19491        * platform/graphics/GraphicsContext.h:
19492        * platform/graphics/qt/GraphicsContextQt.cpp:
19493        (WebCore::toQtCompositionMode): Changed this method to a static inline
19494        since it's only used by GraphicsContextQt.cpp now.
19495
19496        * platform/graphics/qt/ImageQt.cpp:
19497        (WebCore::Image::drawPattern):
19498        (WebCore::BitmapImage::draw):
19499
195002011-01-21  Dan Bernstein  <mitz@apple.com>
19501
19502        Reviewed by Adele Peterson.
19503
19504        Inconsistent handling of no-break space in justification logic
19505        https://bugs.webkit.org/show_bug.cgi?id=52938
19506
19507        Test: fast/text/justify-nbsp.html
19508
19509        * rendering/RenderBlockLineLayout.cpp:
19510        (WebCore::RenderBlock::computeInlineDirectionPositionsForLine): Count no-break space as a
19511        space when computing the distribution of space between text boxes on the line.
19512
195132011-01-21  Charlie Reis  <creis@chromium.org>
19514
19515        Reviewed by Darin Fisher.
19516
19517        Crash in WebCore::HistoryController::itemsAreClones
19518        https://bugs.webkit.org/show_bug.cgi?id=52819
19519
19520        Adds sanity checks to help diagnose the crash.
19521
19522        * loader/HistoryController.cpp:
19523
195242011-01-21  Andreas Kling  <kling@webkit.org>
19525
19526        Reviewed by Ariya Hidayat.
19527
19528        [Qt] Let QPainter decide whether a composition mode is supported or not
19529
19530        Lacking Porter-Duff support in the paint engine shouldn't exclude the
19531        Source and Source-Over modes (and has nothing to do with the blend
19532        and raster-op modes.)
19533
19534        Delegate this decision to QPainter instead (this will cause warnings
19535        if an unsupported mode is used, but that's a good thing.)
19536
19537        * platform/graphics/qt/GraphicsContextQt.cpp:
19538        (WebCore::GraphicsContext::clearRect):
19539        (WebCore::GraphicsContext::setPlatformCompositeOperation):
19540        * platform/graphics/qt/TransparencyLayer.h:
19541        (WebCore::TransparencyLayer::TransparencyLayer):
19542
195432011-01-21  Chris Rogers  <crogers@google.com>
19544
19545        Reviewed by Kenneth Russell.
19546
19547        fix audio build: header file should be "Noncopyable.h" and not "NonCopyable.h"
19548        https://bugs.webkit.org/show_bug.cgi?id=52933
19549
19550        No new tests since this just fixes the build
19551
19552        * webaudio/RealtimeAnalyser.h:
19553
195542011-01-21  Chris Rogers  <crogers@google.com>
19555
19556        Reviewed by Kenneth Russell.
19557
19558        Fix audio build: change ChromiumBridge to PlatformBridge
19559        https://bugs.webkit.org/show_bug.cgi?id=52928
19560
19561        No new tests since audio API is not yet implemented.
19562
19563        * platform/audio/chromium/AudioBusChromium.cpp:
19564        (WebCore::AudioBus::loadPlatformResource):
19565
195662011-01-21  Chris Rogers  <crogers@google.com>
19567
19568        Reviewed by Kenneth Russell.
19569
19570        Add FFTFrameStub to avoid link errors during bringup on platforms without an FFT implementation
19571        https://bugs.webkit.org/show_bug.cgi?id=52922
19572
19573        No new tests since audio API is not yet implemented.
19574
19575        * WebCore.gypi:
19576        * platform/audio/FFTFrameStub.cpp: Added.
19577        (WebCore::FFTFrame::FFTFrame):
19578        (WebCore::FFTFrame::~FFTFrame):
19579        (WebCore::FFTFrame::multiply):
19580        (WebCore::FFTFrame::doFFT):
19581        (WebCore::FFTFrame::doInverseFFT):
19582        (WebCore::FFTFrame::cleanup):
19583        (WebCore::FFTFrame::realData):
19584        (WebCore::FFTFrame::imagData):
19585
195862011-01-21  Tony Chang  <tony@chromium.org>
19587
19588        Reviewed by Sam Weinig.
19589
19590        reduce number of FrameLoaderClient::didChangeScrollOffset calls
19591        https://bugs.webkit.org/show_bug.cgi?id=52915
19592
19593        Only notify of changes in scroll offset when there actually is a change.
19594        This regressed in r76291.
19595
19596        Covered by Chromium browser_tests.
19597
19598        * platform/ScrollAnimator.cpp:
19599        (WebCore::ScrollAnimator::scrollToOffsetWithoutAnimation):
19600
196012011-01-21  Pavel Feldman  <pfeldman@chromium.org>
19602
19603        Reviewed by Yury Semikhatsky.
19604
19605        Web Inspector: ~InspectorResourceAgent crashes on closing inspected page.
19606        https://bugs.webkit.org/show_bug.cgi?id=52900
19607
19608        * inspector/InspectorController.cpp:
19609        (WebCore::InspectorController::~InspectorController):
19610        (WebCore::InspectorController::inspectedPageDestroyed):
19611
196122011-01-21  Chris Rogers  <crogers@google.com>
19613
19614        Reviewed by Darin Fisher.
19615
19616        Add run-time enable support for the web audio API
19617        https://bugs.webkit.org/show_bug.cgi?id=52741
19618
19619        No new tests since audio API is not yet implemented.
19620
19621        * WebCore.exp.in:
19622        * bindings/generic/RuntimeEnabledFeatures.cpp:
19623        * bindings/generic/RuntimeEnabledFeatures.h:
19624        (WebCore::RuntimeEnabledFeatures::setWebkitAudioContextEnabled):
19625        (WebCore::RuntimeEnabledFeatures::webkitAudioContextEnabled):
19626        * page/DOMWindow.idl:
19627        * page/Settings.cpp:
19628        (WebCore::Settings::Settings):
19629        (WebCore::Settings::setWebAudioEnabled):
19630        * page/Settings.h:
19631        (WebCore::Settings::webAudioEnabled):
19632
196332011-01-21  Martin Robinson  <mrobinson@igalia.com>
19634
19635        Reviewed by Xan Lopez.
19636
19637        [GTK] Menulist text often collides with separator
19638        https://bugs.webkit.org/show_bug.cgi?id=51155
19639
19640        Move menulist rendering to RenderThemeGtk and correct padding code
19641        for separators in menulists.
19642
19643        * platform/gtk/RenderThemeGtk.cpp:
19644        (WebCore::RenderThemeGtk::RenderThemeGtk): Initialize new widget members.
19645        (WebCore::RenderThemeGtk::getComboBoxSeparatorWidth): Added.
19646        (WebCore::RenderThemeGtk::comboBoxArrowSize): Added.
19647        (WebCore::getButtonInnerBorder): Added.
19648        (WebCore::RenderThemeGtk::getComboBoxPadding): Do this manually instead of using
19649        Mozilla code.
19650        (WebCore::RenderThemeGtk::paintMenuList): Ditto.
19651        (WebCore::setupWidget): Abstracted this part of the setupWidgetAndAddToContainer
19652        out to handle child widgets of comboboxes.
19653        (WebCore::RenderThemeGtk::setupWidgetAndAddToContainer): Abstracted out setupWidget.
19654        (WebCore::RenderThemeGtk::gtkContainer): Added.
19655        (WebCore::getGtkComboBoxButton): Added.
19656        (WebCore::getGtkComboBoxPieces): Added.
19657        (WebCore::RenderThemeGtk::gtkComboBox): Call setupWidget here.
19658        (WebCore::RenderThemeGtk::refreshComboBoxChildren): Added.
19659        (WebCore::RenderThemeGtk::gtkComboBoxButton): Added.
19660        (WebCore::RenderThemeGtk::gtkComboBoxArrow): Added.
19661        (WebCore::RenderThemeGtk::gtkComboBoxSeparator): Added.
19662        * platform/gtk/RenderThemeGtk.h: Added new members and methods.
19663        * platform/gtk/WidgetRenderingContext.h: Added new members and methods.
19664        * platform/gtk/WidgetRenderingContextGtk2.cpp:
19665        (WebCore::WidgetRenderingContext::gtkPaintArrow):
19666        (WebCore::WidgetRenderingContext::gtkPaintVLine):
19667        * platform/gtk/WidgetRenderingContextGtk3.cpp:
19668        (WebCore::WidgetRenderingContext::gtkPaintArrow):
19669        (WebCore::WidgetRenderingContext::gtkPaintVLine):
19670        * platform/gtk/gtk2drawing.c: Removed code for drawing menulists and buttons.
19671        (moz_gtk_init):
19672        (moz_gtk_get_widget_border):
19673        (moz_gtk_widget_paint):
19674        * platform/gtk/gtk3drawing.c:
19675        (moz_gtk_init):
19676        (moz_gtk_get_widget_border):
19677        (moz_gtk_widget_paint):
19678        * platform/gtk/gtkdrawing.h:
19679
196802011-01-21  Sam Weinig  <sam@webkit.org>
19681
19682        Fix chromium mac build.
19683
19684        * platform/chromium/ScrollbarThemeChromiumMac.mm:
19685        (WebCore::scrollbarStateToThemeState):
19686        (WebCore::ScrollbarThemeChromiumMac::paint):
19687
196882011-01-21  Sam Weinig  <sam@webkit.org>
19689
19690        Fix the windows build.
19691
19692        * platform/ScrollbarThemeComposite.cpp:
19693        (WebCore::ScrollbarThemeComposite::paint):
19694
196952011-01-21  Chris Rogers  <crogers@google.com>
19696
19697        Reviewed by Kenneth Russell.
19698
19699        Add chromium bundled audio spatialization resources to WebAudio.grd
19700        https://bugs.webkit.org/show_bug.cgi?id=52651
19701
19702        No new tests since audio API is not yet implemented.
19703
19704        * WebCore.gyp/WebCore.gyp:
19705        * platform/audio/chromium/AudioBusChromium.cpp:
19706        (WebCore::AudioBus::loadPlatformResource):
19707
197082011-01-21  Xiyuan Xia  <xiyuan@chromium.org>
19709
19710        Reviewed by Tony Chang.
19711
19712        Use WebThemeEngine for relevant RenderTheme parts for chromium/linux.
19713        https://bugs.webkit.org/show_bug.cgi?id=52826
19714
19715        * platform/chromium/ChromiumBridge.h:
19716        * rendering/RenderThemeChromiumLinux.cpp:
19717        (WebCore::getWebThemeState):
19718        (WebCore::RenderThemeChromiumLinux::adjustSliderThumbSize):
19719        (WebCore::RenderThemeChromiumLinux::paintCheckbox):
19720        (WebCore::RenderThemeChromiumLinux::setCheckboxSize):
19721        (WebCore::RenderThemeChromiumLinux::paintRadio):
19722        (WebCore::RenderThemeChromiumLinux::setRadioSize):
19723        (WebCore::RenderThemeChromiumLinux::paintButton):
19724        (WebCore::RenderThemeChromiumLinux::paintTextField):
19725        (WebCore::RenderThemeChromiumLinux::paintMenuList):
19726        (WebCore::RenderThemeChromiumLinux::paintSliderTrack):
19727        (WebCore::RenderThemeChromiumLinux::paintSliderThumb):
19728        (WebCore::RenderThemeChromiumLinux::adjustInnerSpinButtonStyle):
19729        (WebCore::RenderThemeChromiumLinux::paintInnerSpinButton):
19730        (WebCore::RenderThemeChromiumLinux::paintProgressBar):
19731        * rendering/RenderThemeChromiumLinux.h:
19732        * rendering/RenderThemeChromiumSkia.cpp:
19733        (WebCore::RenderThemeChromiumSkia::setCheckboxSize):
19734        (WebCore::RenderThemeChromiumSkia::setSizeIfAuto):
19735        (WebCore::RenderThemeChromiumSkia::indeterminateProgressValueRectFor):
19736        * rendering/RenderThemeChromiumSkia.h:
19737
197382011-01-21  Sam Weinig  <sam@webkit.org>
19739
19740        Reviewed by Anders Carlsson.
19741
19742        Part 2 of "Cleanup Scrollbar/ScrollbarClient relationship"
19743        https://bugs.webkit.org/show_bug.cgi?id=52779
19744
19745        Rename ScrollbarClient -> ScrollableArea.
19746
19747        - Also replaces Scrollbar::setClient with Scrollbar::disconnectFromScrollableArea
19748          since that was its only use case.
19749
19750        * CMakeLists.txt:
19751        * GNUmakefile.am:
19752        * WebCore.gypi:
19753        * WebCore.pro:
19754        * WebCore.vcproj/WebCore.vcproj:
19755        * WebCore.xcodeproj/project.pbxproj:
19756        * accessibility/AccessibilityScrollbar.cpp:
19757        (WebCore::AccessibilityScrollbar::setValue):
19758        * css/CSSStyleSelector.cpp:
19759        (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
19760        * page/FrameView.h:
19761        * platform/PopupMenuClient.h:
19762        * platform/ScrollAnimator.cpp:
19763        (WebCore::ScrollAnimator::create):
19764        (WebCore::ScrollAnimator::ScrollAnimator):
19765        (WebCore::ScrollAnimator::scroll):
19766        (WebCore::ScrollAnimator::notityPositionChanged):
19767        * platform/ScrollAnimator.h:
19768        * platform/ScrollAnimatorWin.cpp:
19769        (WebCore::ScrollAnimator::create):
19770        (WebCore::ScrollAnimatorWin::ScrollAnimatorWin):
19771        (WebCore::ScrollAnimatorWin::scroll):
19772        * platform/ScrollAnimatorWin.h:
19773        * platform/ScrollView.cpp:
19774        (WebCore::ScrollView::scroll):
19775        (WebCore::ScrollView::updateScrollbars):
19776        (WebCore::ScrollView::wheelEvent):
19777        * platform/ScrollView.h:
19778        * platform/ScrollableArea.cpp: Copied from WebCore/platform/ScrollbarClient.cpp.
19779        (WebCore::ScrollableArea::ScrollableArea):
19780        (WebCore::ScrollableArea::~ScrollableArea):
19781        (WebCore::ScrollableArea::scroll):
19782        (WebCore::ScrollableArea::scrollToOffsetWithoutAnimation):
19783        (WebCore::ScrollableArea::scrollToXOffsetWithoutAnimation):
19784        (WebCore::ScrollableArea::scrollToYOffsetWithoutAnimation):
19785        (WebCore::ScrollableArea::setScrollOffsetFromAnimation):
19786        * platform/ScrollableArea.h: Copied from WebCore/platform/ScrollbarClient.h.
19787        * platform/Scrollbar.cpp:
19788        (WebCore::Scrollbar::createNativeScrollbar):
19789        (WebCore::Scrollbar::Scrollbar):
19790        (WebCore::Scrollbar::offsetDidChange):
19791        (WebCore::Scrollbar::autoscrollPressedPart):
19792        (WebCore::Scrollbar::moveThumb):
19793        (WebCore::Scrollbar::mouseMoved):
19794        (WebCore::Scrollbar::isWindowActive):
19795        (WebCore::Scrollbar::invalidateRect):
19796        (WebCore::Scrollbar::convertToContainingView):
19797        (WebCore::Scrollbar::convertFromContainingView):
19798        * platform/Scrollbar.h:
19799        (WebCore::Scrollbar::disconnectFromScrollableArea):
19800        (WebCore::Scrollbar::scrollableArea):
19801        * platform/ScrollbarClient.cpp: Removed.
19802        * platform/ScrollbarClient.h: Removed.
19803        * platform/ScrollbarThemeComposite.cpp:
19804        * platform/chromium/FramelessScrollView.h:
19805        * platform/chromium/ScrollbarThemeChromium.cpp:
19806        (WebCore::ScrollbarThemeChromium::paintTickmarks):
19807        * platform/efl/ScrollbarEfl.cpp:
19808        (Scrollbar::createNativeScrollbar):
19809        (ScrollbarEfl::ScrollbarEfl):
19810        (scrollbarEflEdjeMessage):
19811        * platform/efl/ScrollbarEfl.h:
19812        * platform/gtk/MainFrameScrollbarGtk.cpp:
19813        (MainFrameScrollbarGtk::create):
19814        (MainFrameScrollbarGtk::MainFrameScrollbarGtk):
19815        (MainFrameScrollbarGtk::gtkValueChanged):
19816        * platform/gtk/MainFrameScrollbarGtk.h:
19817        * platform/mac/ScrollAnimatorMac.h:
19818        * platform/mac/ScrollAnimatorMac.mm:
19819        (WebCore::ScrollAnimator::create):
19820        (WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
19821        (WebCore::ScrollAnimatorMac::scroll):
19822        * platform/mac/ScrollbarThemeMac.mm:
19823        (WebCore::ScrollbarThemeMac::paint):
19824        * platform/qt/ScrollbarQt.cpp:
19825        (WebCore::Scrollbar::contextMenu):
19826        * platform/win/PopupMenuWin.cpp:
19827        (WebCore::PopupMenuWin::scrollToRevealSelection):
19828        (WebCore::PopupMenuWin::wndProc):
19829        * platform/win/PopupMenuWin.h:
19830        * platform/win/ScrollbarThemeSafari.cpp:
19831        (WebCore::ScrollbarThemeSafari::paintTrackBackground):
19832        (WebCore::ScrollbarThemeSafari::paintButton):
19833        (WebCore::ScrollbarThemeSafari::paintThumb):
19834        * platform/wx/ScrollbarThemeWx.cpp:
19835        (WebCore::ScrollbarThemeWx::paint):
19836        * rendering/RenderDataGrid.h:
19837        * rendering/RenderLayer.cpp:
19838        (WebCore::RenderLayer::scrollToOffset):
19839        (WebCore::RenderLayer::destroyScrollbar):
19840        (WebCore::RenderLayer::scroll):
19841        * rendering/RenderLayer.h:
19842        * rendering/RenderListBox.cpp:
19843        (WebCore::RenderListBox::scrollToRevealElementAtListIndex):
19844        (WebCore::RenderListBox::scroll):
19845        (WebCore::RenderListBox::logicalScroll):
19846        (WebCore::RenderListBox::setScrollTop):
19847        (WebCore::RenderListBox::destroyScrollbar):
19848        * rendering/RenderListBox.h:
19849        * rendering/RenderMenuList.cpp:
19850        (WebCore::RenderMenuList::createScrollbar):
19851        * rendering/RenderMenuList.h:
19852        * rendering/RenderScrollbar.cpp:
19853        (WebCore::RenderScrollbar::createCustomScrollbar):
19854        (WebCore::RenderScrollbar::RenderScrollbar):
19855        * rendering/RenderScrollbar.h:
19856        * rendering/RenderTextControlSingleLine.cpp:
19857        (WebCore::RenderTextControlSingleLine::createScrollbar):
19858        * rendering/RenderTextControlSingleLine.h:
19859
198602011-01-21  Darin Adler  <darin@apple.com>
19861
19862        Fix Leopard build.
19863
19864        * rendering/mathml/RenderMathMLFraction.cpp:
19865        (WebCore::RenderMathMLFraction::layout): Use ceilf instead of ceil.
19866
198672011-01-21  Anton Muhin  <antonm@chromium.org>
19868
19869        Reviewed by Nate Chapin.
19870
19871        [v8] Properly deal with the case when conversion to string throws an exception for HTMLCollection accessors
19872        https://bugs.webkit.org/show_bug.cgi?id=52901
19873
19874        Test: fast/dom/htmlcollection-conversion-throws-exception.html
19875
19876        * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
19877        (WebCore::getItem):
19878
198792011-01-21  Adam Roben  <aroben@apple.com>
19880
19881        Separate flushing layer changes from rendering in CACFLayerTreeHost
19882
19883        Old model:
19884          1) A change is made to a GraphicsLayer.
19885          2) CACFLayerTreeHost::flushPendingGraphicsLayerChangesSoon is called, which schedules the
19886             render timer.
19887          3) The timer fires, which calls through to CACFLayerTreeHost::render, which performs the
19888             flush and then renders.
19889
19890        New model:
19891          1) A change is made to a GraphicsLayer.
19892          2) CACFLayerTreeHost::flushPendingGraphicsLayerChangesSoon is called, which tells the new
19893             LayerChangesFlusher singleton that this host has changes that need to be flushed.
19894          3) LayerChangesFlusher sets up a Windows hook that will get called on the next iteration
19895             of the message loop.
19896          4) LayerChangesFlusher's hook is called, which calls through to
19897             CACFLayerTreeHost::flushPendingLayerChangesNow.
19898          5) CACFLayerTreeHost::flushPendingLayerChangesNow schedules the render timer so the changes
19899             that were just flushed to the context will be rendered.
19900
19901        When a change is made to a PlatformCALayer that doesn't have a corresponding GraphicsLayer
19902        (e.g., for rendering <video>), CACFLayerTreeHost::layerTreeDidChange takes care of
19903        scheduling the flush.
19904
19905        This change has three advantages:
19906          1) Whenever we flush layer changes, we first update layout. This can cause the page to
19907             leave compositing mode, which in turn can cause all references to the CACFLayerTreeHost
19908             to be dropped. By separating flushing (and thus updating layout) from rendering, we no
19909             longer have to worry about this happen during rendering.
19910          2) The new model is much more similar to how things work on the Mac, so will hopefully
19911             reduce the number of platform-specific bugs.
19912          3) CACFLayerTreeHost::shouldRender, which was used to make sure we didn't render while a
19913             layout was pending, is no longer needed. It actually hasn't been needed since at least
19914             r75987, but removing it before now would have resulted in a crash whenever a page came
19915             out of compositing mode due to (1).
19916
19917        Fixes <http://webkit.org/b/52852> Flushing layer changes and rendering are intertwined in
19918        CACFLayerTreeHost, but shouldn't be
19919
19920        Reviewed by Simon Fraser.
19921
19922        * WebCore.vcproj/WebCore.vcproj: Added LayerChangesFlusher.
19923
19924        * platform/graphics/ca/win/CACFLayerTreeHost.cpp: Added new #include, sorted existing
19925        #includes.
19926        (WebCore::CACFLayerTreeHost::CACFLayerTreeHost): Initialize new member.
19927        (WebCore::CACFLayerTreeHost::layerTreeDidChange): If we aren't already flushing changes,
19928        schedule a flush. Removed the call to renderSoon(), which now happens when the flush is
19929        finished.
19930        (WebCore::CACFLayerTreeHost::destroyRenderer): Cancel any pending flush we had scheduled. Also
19931        fixed a bug where we'd fail to clear the context's layer.
19932        (WebCore::CACFLayerTreeHost::render): Removed code to ask the client if we should render, which
19933        is no longer needed. Moved code to flush layer changes from here to
19934        flushPendingLayerChangesNow, which is called via the above-described mechanism.
19935        (WebCore::CACFLayerTreeHost::flushPendingGraphicsLayerChangesSoon): Schedule a flush. Removed
19936        code to schedule a render, which now happens after we've flushed.
19937        (WebCore::CACFLayerTreeHost::flushPendingLayerChangesNow): Added. Some of this code came from
19938        render(). First we flush GraphicsLayer changes from GraphicsLayers to their underlying
19939        PlatformCALayers, then we flush changes from PlatformCALayers to the context, then we
19940        schedule a render so that the changes will be rendered to the screen.
19941
19942        * platform/graphics/ca/win/CACFLayerTreeHost.h: Removed
19943        CACFLayerTreeHostClient::shouldRender. Added flushPendingLayerChangesNow and
19944        m_isFlushingLayerChanges.
19945
19946        * platform/graphics/ca/win/LayerChangesFlusher.cpp: Added.
19947        (WebCore::LayerChangesFlusher::shared):
19948        (WebCore::LayerChangesFlusher::LayerChangesFlusher):
19949        (WebCore::LayerChangesFlusher::flushPendingLayerChangesSoon):
19950        (WebCore::LayerChangesFlusher::cancelPendingFlush):
19951        (WebCore::LayerChangesFlusher::hookCallback):
19952        (WebCore::LayerChangesFlusher::hookFired):
19953        (WebCore::LayerChangesFlusher::setHook):
19954        (WebCore::LayerChangesFlusher::removeHook):
19955
19956        * platform/graphics/ca/win/LayerChangesFlusher.cpp: Added.
19957        (WebCore::LayerChangesFlusher::shared): Returns the singleton.
19958        (WebCore::LayerChangesFlusher::LayerChangesFlusher): Initialize our members.
19959        (WebCore::LayerChangesFlusher::flushPendingLayerChangesSoon): Add the host to the set of
19960        hosts with changes that need to be flushed, and set up our hook if we haven't already.
19961        (WebCore::LayerChangesFlusher::cancelPendingFlush): Remove the host from the set of hosts
19962        with changes that need to be flushed. If we have no more such hosts, remove our hook, unless
19963        we're currently in the process of calling out to our hosts, in which case we'll take care of
19964        the hook once we're done calling out.
19965        (WebCore::LayerChangesFlusher::hookCallback): This is the function that Windows calls when
19966        our hook fires. Just calls through to hookFired on the singleton.
19967        (WebCore::LayerChangesFlusher::hookFired): Tell all the hosts with changes that needed to be
19968        flushed that it's time to flush. If no hosts re-added themselves to our set during this
19969        process, remove our hook.
19970        (WebCore::LayerChangesFlusher::setHook): Calls through to ::SetWindowsHookExW.
19971        (WebCore::LayerChangesFlusher::removeHook): Calls through to ::UnhookWindowsHookEx.
19972
19973        * platform/graphics/ca/win/LayerChangesFlusher.h: Added.
19974
199752011-01-21  Simon Fraser  <simon.fraser@apple.com>
19976
19977        Reviewed by Sam Weinig.
19978
19979        GraphicsLayer should be non-copyable
19980        https://bugs.webkit.org/show_bug.cgi?id=52909
19981
19982        Use WTF_MAKE_NONCOPYABLE on GraphicsLayer, and WTF_MAKE_FAST_ALLOCATED
19983        on that and KeyframeValueList.
19984        
19985        * platform/graphics/GraphicsLayer.h:
19986
199872011-01-21  Simon Fraser  <simon.fraser@apple.com>
19988
19989        Reviewed by Sam Weinig.
19990
19991        Report the sized used by canvases and types arrays
19992        https://bugs.webkit.org/show_bug.cgi?id=52856
19993
19994        Report the memory cost associated with canvas elements,
19995        and typed arrays to JavaScript as extraCost, so that it
19996        can figure this into its GC behavior.
19997
19998        * bindings/js/JSArrayBufferViewHelper.h:
19999        (WebCore::toJSArrayBufferView): New templatized function, similar
20000        to getDOMObjectWrapper() but calls reportExtraMemoryCost() with
20001        the byteLength of the array.
20002        
20003        * bindings/js/JSFloat32ArrayCustom.cpp:
20004        (WebCore::toJS): Use toJSArrayBufferView.
20005        * bindings/js/JSInt16ArrayCustom.cpp:
20006        (WebCore::toJS): Use toJSArrayBufferView.
20007        * bindings/js/JSInt32ArrayCustom.cpp:
20008        (WebCore::toJS): Use toJSArrayBufferView.
20009        * bindings/js/JSInt8ArrayCustom.cpp:
20010        (WebCore::toJS): Use toJSArrayBufferView.
20011        * bindings/js/JSUint16ArrayCustom.cpp:
20012        (WebCore::toJS): Use toJSArrayBufferView.
20013        * bindings/js/JSUint32ArrayCustom.cpp:
20014        (WebCore::toJS): Use toJSArrayBufferView.
20015        * bindings/js/JSUint8ArrayCustom.cpp:
20016        (WebCore::toJS): Use toJSArrayBufferView.
20017
20018        * html/HTMLCanvasElement.cpp:
20019        (WebCore::HTMLCanvasElement::createImageBuffer): Call heap.reportExtraMemoryCost()
20020        with the size of the canvas backing store.
20021        
20022        * html/canvas/TypedArrayBase.h:
20023        (WebCore::TypedArrayBase::byteLength): byteLength needs to
20024        be public.
20025        
20026        * platform/graphics/ImageBuffer.h: Add dataSize() method.
20027        
20028        * platform/graphics/cairo/ImageBufferCairo.cpp:
20029        (WebCore::ImageBuffer::dataSize): Implement dataSize().
20030        * platform/graphics/cg/ImageBufferCG.cpp:
20031        (WebCore::ImageBuffer::dataSize): Implement dataSize().
20032        * platform/graphics/haiku/ImageBufferHaiku.cpp:
20033        (WebCore::ImageBuffer::dataSize): Implement dataSize().
20034        * platform/graphics/qt/ImageBufferQt.cpp:
20035        (WebCore::ImageBuffer::dataSize): Implement dataSize().
20036        * platform/graphics/skia/ImageBufferSkia.cpp:
20037        (WebCore::ImageBuffer::dataSize): Implement dataSize().
20038        * platform/graphics/wince/ImageBufferWinCE.cpp:
20039        (WebCore::ImageBuffer::dataSize): Implement dataSize().
20040        * platform/graphics/wx/ImageBufferWx.cpp:
20041        (WebCore::ImageBuffer::dataSize): Implement dataSize().
20042
200432011-01-21  Adam Roben  <aroben@apple.com>
20044
20045        Rename WKCACFLayerRenderer[Client] to CACFLayerTreeHost[Client]
20046
20047        Also renamed a few functions and data members to match.
20048
20049        Fixes <http://webkit.org/b/52898> WKCACFLayerRenderer sounds like a render object, but isn't
20050
20051        Reviewed by Simon Fraser.
20052
20053        * WebCore.vcproj/WebCore.vcproj: Updated files' names and paths.
20054
20055        * WebCore.vcproj/WebCoreQuartzCore.vsprops: Added platform/graphics/ca/win to the include
20056        path.
20057
20058        * WebCore.vcproj/copyForwardingHeaders.cmd: Copy headers from platform/graphics/ca/win, too.
20059
20060        * platform/graphics/ca/win/CACFLayerTreeHost.cpp: Renamed from Source/WebCore/platform/graphics/win/WKCACFLayerRenderer.cpp.
20061        * platform/graphics/ca/win/CACFLayerTreeHost.h: Renamed from Source/WebCore/platform/graphics/win/WKCACFLayerRenderer.h.
20062
20063        * platform/graphics/ca/win/PlatformCALayerWin.cpp:
20064        * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp:
20065        * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.h:
20066        Updated for renames.
20067
200682011-01-21  Patrick Gansterer  <paroga@paroga.com>
20069
20070        Original patch from François Sausset  <sausset@gmail.com>
20071
20072        Reviewed by Darin Adler.
20073
20074        Code cleaning in rendering/mathml/RenderMathMLFraction.cpp
20075        https://bugs.webkit.org/show_bug.cgi?id=52201
20076
20077        Replace unneeded doubles by floats and remove unneeded casts.
20078
20079        * rendering/mathml/RenderMathMLFraction.cpp:
20080        (WebCore::RenderMathMLFraction::paint):
20081        * rendering/mathml/RenderMathMLFraction.h:
20082
200832011-01-21  Dimitri Glazkov  <dglazkov@chromium.org>
20084
20085        Reviewed by Darin Adler.
20086
20087        REGRESSION(r73618): Clicking on a search input causes a crash.
20088        https://bugs.webkit.org/show_bug.cgi?id=52905
20089
20090        The problem is caused by TextControlInnerElement being used both as
20091        shadow root and an element in a shadow subtree. The code assumed it is
20092        only used as a shadow root.
20093
20094        Since this code is all just workaround for in-progress conversion to
20095        new shadow DOM, I am just adding a check. This code will disappear
20096        completely once bug 52788 is fixed.
20097
20098        Test: fast/dom/search-shadow-host-crash.html
20099
20100        * dom/Node.cpp:
20101        (WebCore::Node::setShadowHost): Added an ASSERT for early detection
20102            of attempting to stomp on the parentNode.
20103        * rendering/TextControlInnerElements.cpp:
20104        (WebCore::TextControlInnerElement::detach): Added a check to only
20105            clear shadow host if we have one.
20106
201072011-01-21  Adam Roben  <aroben@apple.com>
20108
20109        Replace some "sync compositing state" terminology with "flush pending GraphicsLayer changes"
20110
20111        This seems to be the direction in which our code is moving. I chose "GraphicsLayer" as
20112        opposed to just "layer" because there are cases where we flush changes to CACFLayers that
20113        don't have a corresponding GraphicsLayer.
20114
20115        Fixes <http://webkit.org/b/52894> "Sync compositing state" terminology in
20116        WKCACFLayerRenderer and friends is confusing
20117
20118        Reviewed by Simon Fraser.
20119
20120        * platform/graphics/win/WKCACFLayerRenderer.cpp:
20121        (WebCore::WKCACFLayerRenderer::WKCACFLayerRenderer):
20122        (WebCore::WKCACFLayerRenderer::render):
20123        Updated for renames.
20124
20125        (WebCore::WKCACFLayerRenderer::flushPendingGraphicsLayerChangesSoon): Renamed from
20126        syncCompositingStateSoon, and updated for other renames.
20127
20128        * platform/graphics/win/WKCACFLayerRenderer.h: Renamed m_syncLayerChanges to
20129        * m_shouldFlushPendingGraphicsLayerChanges.
20130        (WebCore::WKCACFLayerRendererClient::flushPendingGraphicsLayerChanges): Renamed from
20131        syncCompositingState.
20132
201332011-01-21  Adam Roben  <aroben@apple.com>
20134
20135        Clean up PlatformCAAnimationWin
20136
20137        Fixes <http://webkit.org/b/52904> PlatformCAAnimationWin is leaky and inefficient
20138
20139        Reviewed by Simon Fraser.
20140
20141        * platform/graphics/ca/win/PlatformCAAnimationWin.cpp:
20142        (toCACFFillModeType):
20143        (fromCACFFillModeType):
20144        (toCACFValueFunctionType):
20145        (fromCACFValueFunctionType):
20146        Changed to take and return CFStringRefs. There's no need to convert to WebCore::String just
20147        so we can later convert back to CFStringRef.
20148
20149        (toCACFTimingFunction): Fixed leaks by changing this to return a RetainPtr and adopting the
20150        results of CACFTimingFunctionCreate.
20151        (PlatformCAAnimation::PlatformCAAnimation): Changed not to needlessly roundtrip through
20152        WebCore::String. Also changed an ASSERT(0) to ASSERT_NOT_REACHED().
20153
20154        (PlatformCAAnimation::setFillMode):
20155        (PlatformCAAnimation::setTimingFunction):
20156        (PlatformCAAnimation::setValueFunction):
20157        (PlatformCAAnimation::setTimingFunctions):
20158        Updated for changes to the above conversion functions.
20159
201602011-01-21  Charlie Reis  <creis@chromium.org>
20161
20162        Reviewed by Darin Fisher.
20163
20164        FrameLoader::checkLoadCompleteForThisFrame uses wrong history item
20165        https://bugs.webkit.org/show_bug.cgi?id=48812
20166
20167        Most calls to stopAllLoaders now clear the history's provisional item(s).
20168        We can now avoid resetting the back/forward state if a new navigation
20169        is in progress.
20170
20171        Test: http/tests/navigation/back-twice-without-commit.html
20172        Test: http/tests/navigation/forward-and-cancel.html
20173
20174        * loader/FrameLoader.cpp:
20175        * loader/FrameLoader.h:
20176        * loader/FrameLoaderTypes.h:
20177        * WebCore.exp.in: Update stopAllLoaders signature.
20178
201792011-01-21  Carlos Garcia Campos  <cgarcia@igalia.com>
20180
20181        Reviewed by Martin Robinson.
20182
20183        [GTK] Show caps lock indicator in password fields
20184        https://bugs.webkit.org/show_bug.cgi?id=52878
20185
20186        Test: manual-tests/password-caps-lock.html
20187
20188        * platform/gtk/KeyEventGtk.cpp:
20189        (WebCore::PlatformKeyboardEvent::currentCapsLockState): Implement
20190        currentCapsLockState() using GDK API.
20191        * platform/gtk/RenderThemeGtk.cpp:
20192        (WebCore::RenderThemeGtk::paintCapsLockIndicator): Paint an icon
20193        in the password field when the caps lock modifier is locked.
20194        * platform/gtk/RenderThemeGtk.h:
20195
201962011-01-21  Pavel Podivilov  <podivilov@chromium.org>
20197
20198        Reviewed by Pavel Feldman.
20199
20200        Web Inspector: move sticky breakpoints management from InspectorController to InspectorBrowserDebuggerAgent.
20201        https://bugs.webkit.org/show_bug.cgi?id=52874
20202
20203        This is the first step of debugger api refactoring (see bug 52879).
20204        JavaScript breakpoints are still in the same list as native breakpoints and are restored by InspectorBrowserDebuggerAgent.
20205        The second step will be to move sticky JavaScript breakpoints to InspectorDebuggerAgent.
20206
20207        * inspector/Inspector.idl:
20208        * inspector/InspectorBrowserDebuggerAgent.cpp:
20209        (WebCore::InspectorBrowserDebuggerAgent::setAllBrowserBreakpoints):
20210        (WebCore::InspectorBrowserDebuggerAgent::inspectedURLChanged):
20211        (WebCore::InspectorBrowserDebuggerAgent::restoreStickyBreakpoint):
20212        (WebCore::InspectorBrowserDebuggerAgent::discardBindings):
20213        (WebCore::InspectorBrowserDebuggerAgent::didInsertDOMNode):
20214        (WebCore::InspectorBrowserDebuggerAgent::didRemoveDOMNode):
20215        (WebCore::InspectorBrowserDebuggerAgent::setDOMBreakpoint):
20216        (WebCore::InspectorBrowserDebuggerAgent::removeDOMBreakpoint):
20217        (WebCore::InspectorBrowserDebuggerAgent::descriptionForDOMEvent):
20218        (WebCore::InspectorBrowserDebuggerAgent::hasBreakpoint):
20219        (WebCore::InspectorBrowserDebuggerAgent::updateSubtreeBreakpoints):
20220        * inspector/InspectorBrowserDebuggerAgent.h:
20221        * inspector/InspectorController.cpp:
20222        (WebCore::InspectorController::restoreInspectorStateFromCookie):
20223        (WebCore::InspectorController::connectFrontend):
20224        (WebCore::InspectorController::didCommitLoad):
20225        (WebCore::InspectorController::enableDebugger):
20226        (WebCore::InspectorController::resume):
20227        (WebCore::InspectorController::inspectedURL):
20228        * inspector/InspectorController.h:
20229        * inspector/InspectorState.cpp:
20230        (WebCore::InspectorState::InspectorState):
20231        * inspector/InspectorState.h:
20232        * inspector/front-end/BreakpointManager.js:
20233        (WebInspector.BreakpointManager):
20234        (WebInspector.BreakpointManager.prototype._saveBreakpoints):
20235
202362011-01-21  John Knottenbelt  <jknotten@chromium.org>
20237
20238        Reviewed by Jeremy Orlow.
20239
20240        Turn off uninitialized errors for ARM linux build.
20241        https://bugs.webkit.org/show_bug.cgi?id=52893
20242
20243        Fix ARM compiler breakage.
20244
20245        * WebCore.gyp/WebCore.gyp:
20246
202472011-01-21  Mikhail Naganov  <mnaganov@chromium.org>
20248
20249        Reviewed by Yury Semikhatsky.
20250
20251        Web Inspector: [Chromium] REGRESSION: Using the "Back" button
20252        while profiling causes renderer crash.
20253
20254        https://bugs.webkit.org/show_bug.cgi?id=52808
20255
20256        * inspector/InspectorProfilerAgent.cpp:
20257        (WebCore::InspectorProfilerAgent::addProfileFinishedMessageToConsole):
20258        (WebCore::InspectorProfilerAgent::addStartProfilingMessageToConsole):
20259
202602011-01-20  Ilya Tikhonovsky  <loislo@chromium.org>
20261
20262        Reviewed by Pavel Feldman.
20263
20264        Web Inspector: switch page/Console implementation from InspectorController to InspectorInstrumentation.
20265
20266        There are some places in WebCore where we still using direct InspectorController calls.
20267        The idea is to pass all the Inspector related calls via InspectorInstrumentaion which is the
20268        Inspector facade for WebCore.
20269
20270        https://bugs.webkit.org/show_bug.cgi?id=52869
20271
20272        * inspector/InspectorController.cpp:
20273        * inspector/InspectorController.h:
20274        * inspector/InspectorInstrumentation.cpp:
20275        (WebCore::InspectorInstrumentation::addProfileImpl):
20276        (WebCore::InspectorInstrumentation::profilerEnabledImpl):
20277        (WebCore::InspectorInstrumentation::getCurrentUserInitiatedProfileNameImpl):
20278        * inspector/InspectorInstrumentation.h:
20279        (WebCore::InspectorInstrumentation::addProfile):
20280        (WebCore::InspectorInstrumentation::profilerEnabled):
20281        (WebCore::InspectorInstrumentation::getCurrentUserInitiatedProfileName):
20282        * page/Console.cpp:
20283        (WebCore::Console::profile):
20284        (WebCore::Console::profileEnd):
20285
202862011-01-12  Pavel Podivilov  <podivilov@chromium.org>
20287
20288        Reviewed by Pavel Feldman.
20289
20290        Web Inspector: breakpoints are restored incorrectly when reverting live edit.
20291        https://bugs.webkit.org/show_bug.cgi?id=52300
20292
20293        Fix breakpoints restoring when reverting to old revision by using text diff.
20294        Move live edit logic from ScriptsPanel to DebuggerModel.
20295        Eliminate unnecessary editLine delegate in TextViewer.
20296
20297        * inspector/front-end/DebuggerModel.js:
20298        (WebInspector.DebuggerModel):
20299        (WebInspector.DebuggerModel.prototype.reset):
20300        (WebInspector.DebuggerModel.prototype.editScriptSource):
20301        (WebInspector.DebuggerModel.prototype._updateScriptSource):
20302        (WebInspector.DebuggerModel.prototype.get callFrames):
20303        (WebInspector.DebuggerModel.prototype.pausedScript):
20304        (WebInspector.DebuggerModel.prototype.resumedScript):
20305        * inspector/front-end/Script.js:
20306        (WebInspector.Script.prototype.get source):
20307        * inspector/front-end/ScriptView.js:
20308        (WebInspector.ScriptView):
20309        * inspector/front-end/ScriptsPanel.js:
20310        (WebInspector.ScriptsPanel):
20311        (WebInspector.ScriptsPanel.prototype._scriptSourceChanged):
20312        * inspector/front-end/SourceFrame.js:
20313        (WebInspector.SourceFrame):
20314        (WebInspector.SourceFrame.prototype._createViewerIfNeeded):
20315        (WebInspector.SourceFrame.prototype._doubleClick.didEditLine):
20316        (WebInspector.SourceFrame.prototype._doubleClick):
20317        * inspector/front-end/SourceView.js:
20318        (WebInspector.SourceView):
20319        * inspector/front-end/TextViewer.js:
20320        (WebInspector.TextViewer):
20321        (WebInspector.TextViewer.prototype._handleKeyDown):
20322        (WebInspector.TextViewer.prototype.editLine.finishEditing):
20323        (WebInspector.TextViewer.prototype.editLine):
20324        (WebInspector.TextChunk.prototype._createRow):
20325
203262011-01-21  Adam Klein  <adamk@chromium.org>
20327
20328        Reviewed by Eric Seidel.
20329
20330        [chromium] Rename ChromiumBridge to PlatformBridge
20331        https://bugs.webkit.org/show_bug.cgi?id=52471
20332
20333        No tests added as this is a rename; no change in behavior.
20334
20335        * WebCore.gypi:
20336        * bindings/v8/V8DOMWindowShell.cpp:
20337        (WebCore::reportFatalErrorInV8):
20338        * page/PageGroup.cpp:
20339        (WebCore::PageGroup::isLinkVisited):
20340        * platform/android/PlatformBridge.h:
20341        * platform/audio/chromium/AudioBusChromium.cpp:
20342        (WebCore::createBusFromInMemoryAudioFile):
20343        * platform/chromium/ChromiumBridge.h: Removed.
20344        * platform/chromium/ChromiumDataObjectLegacy.cpp:
20345        (WebCore::ChromiumDataObjectLegacy::getData):
20346        * platform/chromium/DragDataChromium.cpp:
20347        (WebCore::DragData::asURL):
20348        * platform/chromium/FileSystemChromium.cpp:
20349        (WebCore::deleteFile):
20350        (WebCore::deleteEmptyDirectory):
20351        (WebCore::getFileSize):
20352        (WebCore::getFileModificationTime):
20353        (WebCore::revealFolderInOS):
20354        (WebCore::directoryName):
20355        (WebCore::pathByAppendingComponent):
20356        (WebCore::makeAllDirectories):
20357        (WebCore::fileExists):
20358        (WebCore::openFile):
20359        (WebCore::closeFile):
20360        (WebCore::seekFile):
20361        (WebCore::truncateFile):
20362        (WebCore::readFromFile):
20363        (WebCore::writeToFile):
20364        * platform/chromium/LanguageChromium.cpp:
20365        (WebCore::platformDefaultLanguage):
20366        * platform/chromium/LinkHashChromium.cpp:
20367        (WebCore::visitedLinkHash):
20368        * platform/chromium/MIMETypeRegistryChromium.cpp:
20369        (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
20370        (WebCore::MIMETypeRegistry::getPreferredExtensionForMIMEType):
20371        (WebCore::MIMETypeRegistry::isSupportedImageMIMEType):
20372        (WebCore::MIMETypeRegistry::isSupportedJavaScriptMIMEType):
20373        (WebCore::MIMETypeRegistry::isSupportedNonImageMIMEType):
20374        * platform/chromium/PasteboardChromium.cpp:
20375        (WebCore::Pasteboard::writeSelection):
20376        (WebCore::Pasteboard::writePlainText):
20377        (WebCore::Pasteboard::writeURL):
20378        (WebCore::Pasteboard::writeImage):
20379        (WebCore::Pasteboard::canSmartReplace):
20380        (WebCore::Pasteboard::plainText):
20381        (WebCore::Pasteboard::documentFragment):
20382        * platform/chromium/PlatformBridge.h:
20383        * platform/chromium/PlatformScreenChromium.cpp:
20384        (WebCore::screenDepth):
20385        (WebCore::screenDepthPerComponent):
20386        (WebCore::screenIsMonochrome):
20387        (WebCore::screenRect):
20388        (WebCore::screenAvailableRect):
20389        * platform/chromium/ReadableDataObject.cpp:
20390        (WebCore::ReadableDataObject::getData):
20391        (WebCore::ReadableDataObject::urlTitle):
20392        (WebCore::ReadableDataObject::htmlBaseUrl):
20393        (WebCore::ReadableDataObject::filenames):
20394        (WebCore::ReadableDataObject::ensureTypeCacheInitialized):
20395        * platform/chromium/SSLKeyGeneratorChromium.cpp:
20396        (WebCore::signedPublicKeyAndChallengeString):
20397        * platform/chromium/ScrollbarThemeChromium.cpp:
20398        * platform/chromium/ScrollbarThemeChromiumLinux.cpp:
20399        (WebCore::ScrollbarThemeChromiumLinux::scrollbarThickness):
20400        (WebCore::ScrollbarThemeChromiumLinux::paintTrackPiece):
20401        (WebCore::ScrollbarThemeChromiumLinux::paintButton):
20402        (WebCore::ScrollbarThemeChromiumLinux::paintThumb):
20403        (WebCore::ScrollbarThemeChromiumLinux::buttonSize):
20404        (WebCore::ScrollbarThemeChromiumLinux::minimumThumbLength):
20405        * platform/chromium/ScrollbarThemeChromiumMac.mm:
20406        (WebCore::scrollbarStateToThemeState):
20407        (WebCore::ScrollbarThemeChromiumMac::paint):
20408        * platform/chromium/ScrollbarThemeChromiumWin.cpp:
20409        (WebCore::ScrollbarThemeChromiumWin::scrollbarThickness):
20410        (WebCore::ScrollbarThemeChromiumWin::paintTrackPiece):
20411        (WebCore::ScrollbarThemeChromiumWin::paintButton):
20412        (WebCore::ScrollbarThemeChromiumWin::paintThumb):
20413        (WebCore::ScrollbarThemeChromiumWin::buttonSize):
20414        * platform/chromium/SharedTimerChromium.cpp:
20415        (WebCore::setSharedTimerFiredFunction):
20416        (WebCore::setSharedTimerFireTime):
20417        (WebCore::stopSharedTimer):
20418        * platform/chromium/SuddenTerminationChromium.cpp:
20419        (WebCore::disableSuddenTermination):
20420        (WebCore::enableSuddenTermination):
20421        * platform/chromium/SystemTimeChromium.cpp:
20422        (WebCore::currentTime):
20423        * platform/chromium/WritableDataObject.cpp:
20424        (WebCore::WritableDataObject::setData):
20425        * platform/graphics/chromium/CrossProcessFontLoading.mm:
20426        * platform/graphics/chromium/FontCacheChromiumWin.cpp:
20427        (WebCore::fontContainsCharacter):
20428        (WebCore::FillLogFont):
20429        * platform/graphics/chromium/FontCacheLinux.cpp:
20430        (WebCore::FontCache::getFontDataForCharacters):
20431        * platform/graphics/chromium/FontChromiumWin.cpp:
20432        (WebCore::Font::drawGlyphs):
20433        * platform/graphics/chromium/FontPlatformDataChromiumWin.cpp:
20434        (WebCore::FontPlatformData::scriptFontProperties):
20435        * platform/graphics/chromium/FontPlatformDataLinux.cpp:
20436        (WebCore::FontPlatformData::querySystemForRenderStyle):
20437        * platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp:
20438        (WebCore::fillBMPGlyphs):
20439        * platform/graphics/chromium/ImageChromium.cpp:
20440        (WebCore::Image::loadPlatformResource):
20441        * platform/graphics/chromium/ImageChromiumMac.mm:
20442        (WebCore::Image::loadPlatformResource):
20443        * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:
20444        (WebCore::SimpleFontData::platformInit):
20445        (WebCore::SimpleFontData::determinePitch):
20446        (WebCore::SimpleFontData::platformWidthForGlyph):
20447        * platform/graphics/chromium/UniscribeHelperTextRun.cpp:
20448        (WebCore::UniscribeHelperTextRun::tryToPreloadFont):
20449        * platform/graphics/skia/FontCustomPlatformData.cpp:
20450        (WebCore::FontCustomPlatformData::fontPlatformData):
20451        * platform/network/chromium/CookieJarChromium.cpp:
20452        (WebCore::setCookies):
20453        (WebCore::cookies):
20454        (WebCore::cookieRequestHeaderFieldValue):
20455        (WebCore::cookiesEnabled):
20456        (WebCore::getRawCookies):
20457        (WebCore::deleteCookie):
20458        * platform/network/chromium/DNSChromium.cpp:
20459        (WebCore::prefetchDNS):
20460        * platform/qt/PlatformBridge.h:
20461        * platform/sql/chromium/SQLiteFileSystemChromium.cpp:
20462        (WebCore::SQLiteFileSystem::deleteDatabaseFile):
20463        (WebCore::SQLiteFileSystem::getDatabaseFileSize):
20464        * platform/sql/chromium/SQLiteFileSystemChromiumPosix.cpp:
20465        (chromiumOpen):
20466        (chromiumDelete):
20467        (chromiumAccess):
20468        * platform/sql/chromium/SQLiteFileSystemChromiumWin.cpp:
20469        * plugins/chromium/PluginDataChromium.cpp:
20470        (WebCore::PluginCache::plugins):
20471        * rendering/RenderThemeChromiumMac.mm:
20472        (WebCore::RenderThemeChromiumMac::usesTestModeFocusRingColor):
20473        * rendering/RenderThemeChromiumSkia.cpp:
20474        (WebCore::RenderThemeChromiumSkia::caretBlinkInterval):
20475        * rendering/RenderThemeChromiumWin.cpp:
20476        (WebCore::RenderThemeChromiumWin::platformActiveSelectionBackgroundColor):
20477        (WebCore::RenderThemeChromiumWin::platformInactiveSelectionBackgroundColor):
20478        (WebCore::RenderThemeChromiumWin::platformActiveSelectionForegroundColor):
20479        (WebCore::RenderThemeChromiumWin::systemColor):
20480        (WebCore::RenderThemeChromiumWin::paintButton):
20481        (WebCore::RenderThemeChromiumWin::paintSliderTrack):
20482        (WebCore::menuListButtonWidth):
20483        (WebCore::RenderThemeChromiumWin::paintMenuList):
20484        (WebCore::RenderThemeChromiumWin::paintTextFieldInternal):
20485        (WebCore::RenderThemeChromiumWin::paintInnerSpinButton):
20486        (WebCore::RenderThemeChromiumWin::paintProgressBar):
20487        * storage/chromium/IDBFactoryBackendInterface.cpp:
20488        (WebCore::IDBFactoryBackendInterface::create):
20489        (WebCore::IDBFactoryBackendInterface::~IDBFactoryBackendInterface):
20490        * storage/chromium/IDBKeyPathBackendImpl.cpp:
20491        (WebCore::IDBKeyPathBackendImpl::createIDBKeysFromSerializedValuesAndKeyPath):
20492
204932011-01-21  Sheriff Bot  <webkit.review.bot@gmail.com>
20494
20495        Unreviewed, rolling out r76335.
20496        http://trac.webkit.org/changeset/76335
20497        https://bugs.webkit.org/show_bug.cgi?id=52875
20498
20499        profiler tests were broken (Requested by loislo on #webkit).
20500
20501        * inspector/InspectorController.cpp:
20502        (WebCore::InspectorController::addProfile):
20503        (WebCore::InspectorController::getCurrentUserInitiatedProfileName):
20504        * inspector/InspectorController.h:
20505        * inspector/InspectorInstrumentation.cpp:
20506        (WebCore::InspectorInstrumentation::addStartProfilingMessageToConsoleImpl):
20507        * inspector/InspectorInstrumentation.h:
20508        (WebCore::InspectorInstrumentation::addStartProfilingMessageToConsole):
20509        (WebCore::InspectorInstrumentation::inspectorControllerWithFrontendForPage):
20510        * page/Console.cpp:
20511        (WebCore::Console::profile):
20512        (WebCore::Console::profileEnd):
20513
205142011-01-21  Ilya Tikhonovsky  <loislo@chromium.org>
20515
20516        Reviewed by Yury Semikhatsky.
20517
20518        Web Inspector: switch page/Console implementation from InspectorController to InspectorInstrumentation.
20519
20520        There are some places in WebCore where we still using direct InspectorController calls.
20521        The idea is to pass all the Inspector related calls via InspectorInstrumentaion which is the
20522        Inspector facade for WebCore.
20523
20524        https://bugs.webkit.org/show_bug.cgi?id=52869
20525
20526        * inspector/InspectorController.cpp:
20527        * inspector/InspectorController.h:
20528        * inspector/InspectorInstrumentation.cpp:
20529        (WebCore::InspectorInstrumentation::addProfileImpl):
20530        (WebCore::InspectorInstrumentation::profilerEnabledImpl):
20531        (WebCore::InspectorInstrumentation::getCurrentUserInitiatedProfileNameImpl):
20532        * inspector/InspectorInstrumentation.h:
20533        (WebCore::InspectorInstrumentation::addProfile):
20534        (WebCore::InspectorInstrumentation::profilerEnabled):
20535        (WebCore::InspectorInstrumentation::getCurrentUserInitiatedProfileName):
20536        * page/Console.cpp:
20537        (WebCore::Console::profile):
20538        (WebCore::Console::profileEnd):
20539
205402011-01-20  Sam Weinig  <sam@webkit.org>
20541
20542        Reviewed by Gavin Barraclough.
20543
20544        Fix failing tests from r76291.
20545
20546        * platform/ScrollView.cpp:
20547        (WebCore::ScrollView::scrollPosition):
20548        (WebCore::ScrollView::updateScrollbars):
20549        Take the scroll origin into account in more places.
20550
205512011-01-20  Kent Tamura  <tkent@chromium.org>
20552
20553        Unreviewed, sorting an Xcode project file.
20554
20555        * WebCore.xcodeproj/project.pbxproj:
20556
205572011-01-20  Ben Vanik  <ben.vanik@gmail.com>
20558
20559        Reviewed by Kenneth Russell.
20560
20561        Implementation of the OES_standard_derivatives WebGL extension.
20562        https://bugs.webkit.org/show_bug.cgi?id=51678
20563
20564        Changes are modeled off of the existing OESTextureFloat extension. New files,
20565        extension retrieval, etc all match the existing code.
20566
20567        Changed ANGLEWebKitBridge to allow for multiple sets of the ANGLE shader compiler
20568        options. This supports the enabling of the standard derivatives flag when the
20569        extension is enabled. Refactored the cleanup code to make the destruction of the
20570        compilers (if they had been created) cleaner.
20571
20572        Tested with the WebGL conformance test:
20573        https://cvs.khronos.org/svn/repos/registry/trunk/public/webgl/sdk/tests/conformance/oes-standard-derivatives.html
20574        Passes on WebKit/OSX, Chromium/OSX, and Chromium/Windows.
20575
20576        * CMakeLists.txt:
20577        * DerivedSources.make:
20578        * GNUmakefile.am:
20579        * WebCore.gypi:
20580        * WebCore.pri:
20581        * WebCore.pro:
20582        * WebCore.xcodeproj/project.pbxproj:
20583        * bindings/js/JSWebGLRenderingContextCustom.cpp:
20584        (WebCore::toJS):
20585        * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
20586        (WebCore::toV8Object):
20587        * html/canvas/OESStandardDerivatives.cpp: Added.
20588        (WebCore::OESStandardDerivatives::OESStandardDerivatives):
20589        (WebCore::OESStandardDerivatives::~OESStandardDerivatives):
20590        (WebCore::OESStandardDerivatives::getName):
20591        (WebCore::OESStandardDerivatives::create):
20592        * html/canvas/OESStandardDerivatives.h: Added.
20593        * html/canvas/OESStandardDerivatives.idl: Added.
20594        * html/canvas/WebGLExtension.h:
20595        * html/canvas/WebGLRenderingContext.cpp:
20596        (WebCore::WebGLRenderingContext::getExtension): Enable and return the new extension.
20597        (WebCore::WebGLRenderingContext::getParameter): Support extension enum when enabled.
20598        (WebCore::WebGLRenderingContext::getSupportedExtensions): 
20599        (WebCore::WebGLRenderingContext::hint): Validate extension enum when enabled.
20600        (WebCore::WebGLRenderingContext::getNumberOfExtensions):
20601        (WebCore::WebGLRenderingContext::getExtensionNumber):
20602        * html/canvas/WebGLRenderingContext.h:
20603        * platform/graphics/ANGLEWebKitBridge.cpp:
20604        (WebCore::ANGLEWebKitBridge::~ANGLEWebKitBridge): Cleaned up compiler cleanup.
20605        (WebCore::ANGLEWebKitBridge::cleanupCompilers): Destruct compilers.
20606        (WebCore::ANGLEWebKitBridge::setResources): Cleanup existing compilers when changing
20607        ANGLE settings.
20608        (WebCore::ANGLEWebKitBridge::validateShaderSource): Cleaned up compiler cleanup on error.
20609        * platform/graphics/ANGLEWebKitBridge.h:
20610        (WebCore::ANGLEWebKitBridge::getResources):
20611        * platform/graphics/Extensions3D.h: Added enumeration for the extension.
20612        * platform/graphics/GraphicsContext3D.h: lumbing for GraphicsContext3D.
20613        * platform/graphics/opengl/Extensions3DOpenGL.cpp:
20614        (WebCore::Extensions3DOpenGL::Extensions3DOpenGL): Plumbed through a pointer to the
20615        GraphicsContext3D to handle resetting the shader compilers.
20616        (WebCore::Extensions3DOpenGL::supports): Desktop GL always supports this extension,
20617        so always return true.
20618        (WebCore::Extensions3DOpenGL::ensureEnabled): Reset shader compilers as required.
20619        * platform/graphics/opengl/Extensions3DOpenGL.h: Plumbing for GraphicsContext3D.
20620        * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
20621        (WebCore::GraphicsContext3D::getExtensions): Plumbing for GraphicsContext3D to
20622        Extensions3DOpenGL.
20623
206242011-01-20  Xiaomei Ji  <xji@chromium.org>
20625
20626        Reviewed by Dan Bernstein.
20627
20628        Fix regression(r71566): PDF in RTL block might messes up text directionality.
20629        https://bugs.webkit.org/show_bug.cgi?id=52776
20630
20631        Test: fast/dom/52776.html
20632
20633        * platform/text/BidiResolver.h:
20634        (WebCore::::checkDirectionInLowerRaiseEmbeddingLevel):
20635        (WebCore::::lowerExplicitEmbeddingLevel):
20636        (WebCore::::raiseExplicitEmbeddingLevel):
20637        (WebCore::::createBidiRunsForLine):
20638
206392011-01-20  Beth Dakin  <bdakin@apple.com>
20640
20641        Reviewed by Anders Carlsson.
20642
20643        Follow-on for <rdar://problem/8890255>
20644
20645        This fixes a painting error with ScrollbarPainter scrollers
20646        and the new drawing area code path.
20647        * platform/mac/ScrollbarThemeMac.mm:
20648        (WebCore::updateArrowPlacement):
20649
206502011-01-20  Levi Weintraub  <leviw@chromium.org>
20651
20652        Unreviewed.
20653
20654        Fixing build breakage.
20655
20656        * editing/SelectionController.cpp:
20657        (WebCore::SelectionController::willBeModified):
20658
206592011-01-20  Levi Weintraub  <leviw@chromium.org>
20660
20661        Reviewed by Ryosuke Niwa.
20662
20663        RTL: Caret goes to the opposite direction when pressing an arrow key after selection is made
20664        https://bugs.webkit.org/show_bug.cgi?id=49511
20665
20666        Test: editing/selection/rtl-move-selection-right-left.html
20667
20668        * editing/SelectionController.cpp:
20669        (WebCore::SelectionController::willBeModified):
20670        Respecting the direction of the containing block when switching selection base and extent in
20671        RTL content.
20672
20673        (WebCore::SelectionController::modifyMovingRight):
20674        (WebCore::SelectionController::modifyMovingLeft):
20675        Using directionOfEnclosingBlock when deciding to use the selection start or end to do the
20676        correct thing for RTL.
20677
206782011-01-20  Nate Chapin  <japhet@chromium.org>
20679
20680        Reviewed by Adam Barth.
20681
20682        Null-check m_frame in DOMWindow::setLocation(), since it's
20683        possible to reach this point without it having been checked
20684        already.
20685        https://bugs.webkit.org/show_bug.cgi?id=52769
20686
20687        Test: fast/dom/Window/Location/set-location-after-close.html
20688
20689        * page/DOMWindow.cpp:
20690        (WebCore::DOMWindow::setLocation):
20691
206922011-01-20  Chang Shu  <chang.shu@nokia.com>
20693
20694        Reviewed by Darin Adler.
20695
20696        setContentEditable with invalid string should throw exception.
20697        https://bugs.webkit.org/show_bug.cgi?id=52057
20698
20699        Implemented exception throwing for setContentEditable according to the following spec:
20700        http://www.whatwg.org/specs/web-apps/current-work/multipage/editing.html#attr-contenteditable
20701        Related quotas: "On setting, if the new value is an ASCII case-insensitive match for the 
20702        string 'inherit' then the content attribute must be removed, if the new value is an ASCII 
20703        case-insensitive match for the string 'true' then the content attribute must be set to the 
20704        string 'true', if the new value is an ASCII case-insensitive match for the string 'false' 
20705        then the content attribute must be set to the string 'false', and otherwise the attribute 
20706        setter must raise a SYNTAX_ERR exception."
20707
20708        * html/HTMLElement.cpp:
20709        (WebCore::HTMLElement::setContentEditable): Throw exception on invalid input strings; Make setting values case-insensitive and also convert them to lower cases according to the spec.
20710        * html/HTMLElement.h: Add additional parameter ExceptionCode& for function setContentEditable.
20711        * html/HTMLElement.idl: Add exception throwing support for contentEditable setter.
20712
207132011-01-19  Adrienne Walker  <enne@google.com>
20714
20715        Reviewed by James Robinson.
20716
20717        [chromium] Composited render surfaces should allow writes to alpha channel.
20718        https://bugs.webkit.org/show_bug.cgi?id=52766
20719
20720        Test: LayoutTests/platform/chromium/compositing
20721
20722        * platform/graphics/chromium/LayerRendererChromium.cpp:
20723        (WebCore::LayerRendererChromium::drawLayers):
20724
207252011-01-14  Jer Noble  <jer.noble@apple.com>
20726
20727        Reviewed by Eric Carlson.
20728
20729        REGRESSION (r71842): Compass video is not playing in Safari welcome page
20730        https://bugs.webkit.org/show_bug.cgi?id=52506
20731
20732        New test: LayoutTests/media/video-currentTime-delay.html
20733
20734        Call invalidateCachedTime() every time one of the cached property dependencies changes,
20735        i.e. m_paused and m_playbackRate.
20736
20737        * html/HTMLMediaElement.cpp:
20738        (WebCore::HTMLMediaElement::prepareForLoad):
20739        (WebCore::HTMLMediaElement::setReadyState):
20740        (WebCore::HTMLMediaElement::setPlaybackRate):
20741        (WebCore::HTMLMediaElement::mediaPlayerRateChanged):
20742
207432011-01-20  Beth Dakin  <bdakin@apple.com>
20744
20745        Reviewed by Geoffrey Garen.
20746
20747        Fix for <rdar://problem/8890255>
20748
20749        Allow WebKitSystemInterface to draw scrollbars 
20750        when appropriate.
20751        * WebCore.exp.in:
20752        * platform/mac/ScrollbarThemeMac.mm:
20753        (WebCore::scrollbarMap):
20754        (+[ScrollbarPrefsObserver appearancePrefsChanged:]):
20755        (WebCore::ScrollbarThemeMac::registerScrollbar):
20756        (WebCore::ScrollbarThemeMac::unregisterScrollbar):
20757        (WebCore::ScrollbarThemeMac::paint):
20758        * platform/mac/WebCoreSystemInterface.h:
20759        * platform/mac/WebCoreSystemInterface.mm:
20760
207612011-01-20  Sam Weinig  <sam@webkit.org>
20762
20763        Reviewed by Dave Hyatt.
20764
20765        Cleanup Scrollbar/ScrollbarClient relationship
20766        https://bugs.webkit.org/show_bug.cgi?id=52779
20767
20768        Pipe all scrolling through the ScrollbarClient/ScrollAnimator
20769        rather than through the Scrollbar. The Scrollbar now is just
20770        a "view" on the scroll position of the scrollable area it is
20771        attached to.
20772
20773        There are now two ways to scroll a scrollable area:
20774        - ScrollbarClient::scroll()
20775        - ScrollbarClient::scrollToOffsetWithoutAnimation()
20776
20777        Both of these go through the ScrollAnimator (updating its state
20778        or starting an animation). The ScrollAnimator, in turn, now calls
20779        ScrollbarClient::setScrollOffsetFromAnimation, which tells the
20780        Scrollbars to pull a new offset (via Scrollbar::offsetDidChange)
20781        and tells the class that derives from ScrollbarClient to scroll
20782        its contents (via ScrollbarClient::setScrollOffset).
20783
20784        * WebCore.xcodeproj/project.pbxproj:
20785        Move Scrollbar.cpp to the right place.
20786
20787        * accessibility/AccessibilityScrollbar.cpp:
20788        (WebCore::AccessibilityScrollbar::setValue):
20789        Initiate the scroll through the scrollbar client, rather than the
20790        scrollbar itself.
20791
20792        * page/FrameView.cpp:
20793        (WebCore::FrameView::scrollTo):
20794        * page/FrameView.h:
20795        Condense the two valueChanged overrides to a single override of the
20796        scrollTo function.
20797
20798        * platform/ScrollAnimator.cpp:
20799        (WebCore::ScrollAnimator::scroll):
20800        (WebCore::ScrollAnimator::scrollToOffsetWithoutAnimation):
20801        (WebCore::ScrollAnimator::currentPosition):
20802        (WebCore::ScrollAnimator::notityPositionChanged):
20803        * platform/ScrollAnimator.h:
20804        * platform/ScrollAnimatorWin.cpp:
20805        (WebCore::ScrollAnimatorWin::scrollToOffsetWithoutAnimation):
20806        (WebCore::ScrollAnimatorWin::animateScroll):
20807        * platform/ScrollAnimatorWin.h:
20808        * platform/mac/ScrollAnimatorMac.h:
20809        * platform/mac/ScrollAnimatorMac.mm:
20810        (WebCore::ScrollAnimatorMac::scrollToOffsetWithoutAnimation):
20811        (WebCore::ScrollAnimatorMac::immediateScrollToPoint):
20812        Change setScrollPositionAndStopAnimation to scrollToOffsetWithoutAnimation
20813        and bottleneck all client notification of changed position through a new
20814        notityPositionChanged() function.
20815
20816        * platform/ScrollView.cpp:
20817        (WebCore::ScrollView::setScrollOffset):
20818        (WebCore::ScrollView::scrollTo):
20819        (WebCore::ScrollView::scrollPosition):
20820        (WebCore::ScrollView::scroll):
20821        (WebCore::ScrollView::updateScrollbars):
20822        (WebCore::ScrollView::wheelEvent):
20823        * platform/ScrollView.h:
20824        (WebCore::ScrollView::horizontalScrollbar):
20825        (WebCore::ScrollView::verticalScrollbar):
20826        Update to scroll via the ScrollbarClient rather than the Scrollbar.
20827
20828        * platform/Scrollbar.cpp:
20829        (WebCore::Scrollbar::offsetDidChange):
20830        (WebCore::Scrollbar::autoscrollPressedPart):
20831        (WebCore::Scrollbar::moveThumb):
20832        (WebCore::Scrollbar::mouseMoved):
20833        * platform/Scrollbar.h:
20834        (WebCore::Scrollbar::setPressedPos):
20835        Change the scrollbar to only updates its offset in response to
20836        an offsetDidChange call.
20837
20838        * platform/ScrollbarClient.cpp:
20839        (WebCore::ScrollbarClient::scroll):
20840        (WebCore::ScrollbarClient::scrollToOffsetWithoutAnimation):
20841        (WebCore::ScrollbarClient::scrollToXOffsetWithoutAnimation):
20842        (WebCore::ScrollbarClient::scrollToYOffsetWithoutAnimation):
20843        (WebCore::ScrollbarClient::setScrollOffsetFromAnimation):
20844        * platform/ScrollbarClient.h:
20845        (WebCore::ScrollbarClient::horizontalScrollbar):
20846        (WebCore::ScrollbarClient::verticalScrollbar):
20847        Make the increasingly misnamed ScrollbarClient responsible for
20848        scrolling.
20849
20850        * platform/efl/ScrollbarEfl.cpp:
20851        (scrollbarEflEdjeMessage):
20852        * platform/gtk/MainFrameScrollbarGtk.cpp:
20853        (MainFrameScrollbarGtk::gtkValueChanged):
20854        * platform/qt/ScrollbarQt.cpp:
20855        (WebCore::Scrollbar::contextMenu):
20856        Update to move scrolling through the client.
20857
20858        * platform/win/PopupMenuWin.cpp:
20859        (WebCore::PopupMenuWin::scrollToRevealSelection):
20860        (WebCore::PopupMenuWin::scrollPosition):
20861        (WebCore::PopupMenuWin::setScrollOffset):
20862        (WebCore::PopupMenuWin::scrollTo):
20863        (WebCore::PopupMenuWin::wndProc):
20864        * platform/win/PopupMenuWin.h:
20865        (WebCore::PopupMenuWin::verticalScrollbar):
20866        * rendering/RenderLayer.cpp:
20867        (WebCore::RenderLayer::scrollToOffset):
20868        (WebCore::RenderLayer::scrollTo):
20869        (WebCore::RenderLayer::setScrollOffset):
20870        (WebCore::RenderLayer::scrollPosition):
20871        (WebCore::RenderLayer::updateScrollInfoAfterLayout):
20872        (WebCore::RenderLayer::scroll):
20873        * rendering/RenderLayer.h:
20874        * rendering/RenderListBox.cpp:
20875        (WebCore::RenderListBox::scrollToRevealElementAtListIndex):
20876        (WebCore::RenderListBox::scroll):
20877        (WebCore::RenderListBox::logicalScroll):
20878        (WebCore::RenderListBox::scrollPosition):
20879        (WebCore::RenderListBox::setScrollOffset):
20880        (WebCore::RenderListBox::scrollTo):
20881        (WebCore::RenderListBox::setScrollTop):
20882        * rendering/RenderListBox.h:
20883        (WebCore::RenderListBox::verticalScrollbar):
20884        Update to scroll via the ScrollbarClient rather than the Scrollbar.
20885
20886        * rendering/RenderMarquee.cpp:
20887        (WebCore::RenderMarquee::start):
20888        Simplify initial paint to just do an immediate scroll to the position.
20889
208902011-01-20  Patrick Gansterer  <paroga@webkit.org>
20891
20892        Unreviewed WinCE build fix for r76170.
20893
20894        * platform/graphics/wince/FontWinCE.cpp: Added a missing include.
20895        * platform/graphics/wince/ImageBufferData.h: Added a missing include and fixed style.
20896
208972011-01-20  James Robinson  <jamesr@chromium.org>
20898
20899        Reviewed by Darin Fisher.
20900
20901        Implement mozilla's requestAnimationFrame API
20902        https://bugs.webkit.org/show_bug.cgi?id=51218
20903
20904        This implements mozilla's proposed requestAnimationFrame API.  The idea with this API is that
20905        an author driving an animation from script could use window.requestAnimationFrame(callback)
20906        instead of window.setTimeout(callback, 0) to schedule their update logic and let the browser
20907        decide when to update the animations.  This avoids doing unnecessary work when the page content
20908        is offscreen or is being displayed at a different framerate than what the page author expects.
20909
20910        Mozilla's proposal is here: https://developer.mozilla.org/en/DOM/window.mozRequestAnimationFrame
20911        This implements window.mozRequestAnimationFrame as window.webkitRequestAnimationFrame with the
20912        following changes:
20913        *) Only the callback syntax is supported, there is no before paint event
20914        *) webkitRequestAnimationFrame supports a second parameter Element to let the author indicate
20915            what content they intend to animate.  That way if the page is being displayed but the element
20916            in question is offscreen, we can avoid invoking the callback.
20917        *) No timestamp is provided to the caller and there is no window.animationStartTime property
20918            (see https://bugs.webkit.org/show_bug.cgi?id=51952 for discussion of this property)
20919        *) window.webkitRequestAnimationFrame returns a numerical id that can be used to cancel the callback
20920            using window.cancelWebkitRequestAnimationFrame, to parallel window.setTimeout()/window.clearTime().
20921
20922        The implementation depends on the embedder scheduling the callbacks since the callback invocation
20923        depends on the page's visibility and the embedder's paint scheduling, neither of which are exposed
20924        to WebCore.  The expectation for the embedder is that at some point Chrome::scheduleAnimation() is
20925        called FrameView::serviceScriptedAnimations() should be called for the associated Page's main frame.
20926        Ideally serviceScriptedAnimations() would be called prior to rendering - although in practice the
20927        embedder has to rate limit callbacks and may not be able to tie the callback directly to the
20928        rendering loop.
20929
20930        Tests: fast/animation/request-animation-frame-cancel.html
20931               fast/animation/request-animation-frame-cancel2.html
20932               fast/animation/request-animation-frame-display.html
20933               fast/animation/request-animation-frame-within-callback.html
20934               fast/animation/request-animation-frame.html
20935
20936        * WebCore.gypi:
20937        * dom/Document.cpp:
20938        (WebCore::Document::Document):
20939        (WebCore::Document::webkitRequestAnimationFrame):
20940        (WebCore::Document::webkitCancelRequestAnimationFrame):
20941        (WebCore::Document::serviceScriptedAnimations):
20942        * dom/Document.h:
20943        * dom/RequestAnimationFrameCallback.h: Added.
20944        (WebCore::RequestAnimationFrameCallback::~RequestAnimationFrameCallback):
20945        * dom/RequestAnimationFrameCallback.idl: Added.
20946        * loader/EmptyClients.h:
20947        (WebCore::EmptyChromeClient::scheduleAnimation):
20948        * page/Chrome.cpp:
20949        (WebCore::Chrome::scheduleAnimation):
20950        * page/Chrome.h:
20951        * page/ChromeClient.h:
20952        * page/DOMWindow.cpp:
20953        (WebCore::DOMWindow::webkitRequestAnimationFrame):
20954        (WebCore::DOMWindow::webkitCancelRequestAnimationFrame):
20955        * page/DOMWindow.h:
20956        * page/DOMWindow.idl:
20957        * page/FrameView.cpp:
20958        (WebCore::FrameView::scheduleAnimation):
20959        (WebCore::FrameView::serviceScriptedAnimations):
20960        * page/FrameView.h:
20961        * platform/HostWindow.h:
20962
209632011-01-20  James Robinson  <jamesr@chromium.org>
20964
20965        Reviewed by Nate Chapin.
20966
20967        [v8] CodeGeneratorV8 generates incorrect code for callbacks with no parameters
20968        https://bugs.webkit.org/show_bug.cgi?id=52837
20969
20970        When generating code to invoke a callback with no parameters CodeGeneratorV8.pm was generating the following:
20971        v8::Handle<v8::Value> argv[] = {}; which does not compile in visual studio.  Instead, if the argument count
20972        is 0, we can just pass a NULL pointer for the argv parameter.
20973
20974        Test added to bindings/scripts/test/TestCallback.idl and covered by run-bindings-tests.  This
20975        patch also includes some spurious changes to the bindings tests golden files (mostly GObject)
20976        because the old golden files were out of date.
20977
20978        * bindings/scripts/CodeGeneratorV8.pm:
20979        * bindings/scripts/test/CPP/WebDOMTestCallback.cpp:
20980        (WebDOMTestCallback::callbackWithNoParam):
20981        * bindings/scripts/test/CPP/WebDOMTestCallback.h:
20982        * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp:
20983        (webkit_dom_test_callback_callback_with_no_param):
20984        * bindings/scripts/test/GObject/WebKitDOMTestCallback.h:
20985        * bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp:
20986        * bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListener.cpp:
20987        * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
20988        * bindings/scripts/test/JS/JSTestCallback.cpp:
20989        (WebCore::JSTestCallback::callbackWithNoParam):
20990        * bindings/scripts/test/JS/JSTestCallback.h:
20991        * bindings/scripts/test/JS/JSTestInterface.cpp:
20992        * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
20993        * bindings/scripts/test/JS/JSTestObj.cpp:
20994        * bindings/scripts/test/ObjC/DOMTestCallback.h:
20995        * bindings/scripts/test/ObjC/DOMTestCallback.mm:
20996        (-[DOMTestCallback callbackWithNoParam]):
20997        * bindings/scripts/test/TestCallback.idl:
20998        * bindings/scripts/test/V8/V8TestCallback.cpp:
20999        (WebCore::V8TestCallback::callbackWithNoParam):
21000        * bindings/scripts/test/V8/V8TestCallback.h:
21001        * bindings/scripts/test/V8/V8TestObj.cpp:
21002        (WebCore::TestObjInternal::reflectedUnsignedIntegralAttrAttrGetter):
21003
210042011-01-20  James Robinson  <jamesr@chromium.org>
21005
21006        Reviewed by Eric "Baller" Seidel.
21007
21008        RenderTableSection's setNeedsCellRecalc needs to null check table()
21009        https://bugs.webkit.org/show_bug.cgi?id=52770
21010
21011        Null checks table() before deferencing it in RenderTableSection::setNeedsCellRecalc.
21012        This can be null during detach().  Test constructed by Eric Seidel.
21013
21014        Test: fast/css-generated-content/table-with-scrollbar-corner.html
21015
21016        * rendering/RenderTableSection.cpp:
21017        (WebCore::RenderTableSection::setNeedsCellRecalc):
21018        * rendering/RenderTableSection.h:
21019
210202011-01-20  Dirk Schulze  <krit@webkit.org>
21021
21022        Reviewed by Rob Buis.
21023
21024        SVG Pattern doesn't take preserveAspectRatio of references Pattern
21025        https://bugs.webkit.org/show_bug.cgi?id=52802
21026
21027        SVGPattern didn't take preserveAspectRatio of a referenced SVGPattern into account. Store preserveAspectRatio
21028        in PatternAttributes as well, if the attribute was set on the referenced SVGPattern element.
21029
21030        Test: svg/custom/pattern-referencing-preserve-aspect-ratio.svg
21031
21032        * rendering/svg/RenderSVGResourcePattern.cpp:
21033        (WebCore::RenderSVGResourcePattern::buildTileImageTransform):
21034        * svg/PatternAttributes.h:
21035        (WebCore::PatternAttributes::PatternAttributes):
21036        (WebCore::PatternAttributes::preserveAspectRatio):
21037        (WebCore::PatternAttributes::setPreserveAspectRatio):
21038        (WebCore::PatternAttributes::hasPreserveAspectRatio):
21039        * svg/SVGPatternElement.cpp:
21040        (WebCore::SVGPatternElement::collectPatternAttributes):
21041
210422011-01-20  Dan Bernstein  <mitz@apple.com>
21043
21044        Reviewed by Adele Peterson.
21045
21046        <rdar://problem/8765498> REGRESSION (r72141): Cannot order prints with Aperture 3.1
21047
21048        <rdar://problem/8884648> REGRESSION (r72141): Safari hangs when visiting a page on www.bfmtv.com
21049        https://bugs.webkit.org/show_bug.cgi?id=52765
21050
21051        <rdar://problem/8890909> REGRESSION (r72141): Very Slow Rendering With Certain Markup
21052        https://bugs.webkit.org/show_bug.cgi?id=52265
21053
21054        Test: fast/block/line-layout/negative-max-height.html
21055
21056        Integer overflow detection led to a block having a huge height. This manifested as broken layout
21057        in the first bug and as extreme slowness in the latter bugs because of
21058        https://bugs.webkit.org/show_bug.cgi?id=52832
21059
21060        * rendering/RootInlineBox.cpp:
21061        (WebCore::RootInlineBox::alignBoxesInBlockDirection): Clamp maxHeight to 0 so the next line
21062        cannot start above this line. The negative maxHeight also caused the integer overflow detection
21063        logic to give the block a huge height.
21064
210652011-01-20  Yi Shen  <yi.4.shen@nokia.com>
21066
21067        Reviewed by Eric Carlson.
21068
21069        Clean up the Media Controls CSS for Qt
21070        https://bugs.webkit.org/show_bug.cgi?id=52822
21071
21072        Split the audio::-webkit-media-xxx and video::-webkit-media-xxx rules 
21073        in mediaControlsQt.css, and remove the duplicate audio::-webkit-media-xxx
21074        rules from mediaControlsQtFullscreen.css.
21075
21076        * css/mediaControlsQt.css:
21077        (audio::-webkit-media-controls-panel):
21078        (video::-webkit-media-controls-panel):
21079        (audio::-webkit-media-controls-mute-button):
21080        (video::-webkit-media-controls-mute-button):
21081        (audio::-webkit-media-controls-play-button):
21082        (video::-webkit-media-controls-play-button):
21083        (audio::-webkit-media-controls-timeline-container):
21084        (video::-webkit-media-controls-timeline-container):
21085        (audio::-webkit-media-controls-current-time-display):
21086        (video::-webkit-media-controls-current-time-display):
21087        (audio::-webkit-media-controls-time-remaining-display):
21088        (video::-webkit-media-controls-time-remaining-display):
21089        (audio::-webkit-media-controls-timeline):
21090        (video::-webkit-media-controls-timeline):
21091        (audio::-webkit-media-controls-volume-slider-container):
21092        (video::-webkit-media-controls-volume-slider-container):
21093        (audio::-webkit-media-controls-volume-slider):
21094        (video::-webkit-media-controls-volume-slider):
21095        (audio::-webkit-media-controls-seek-back-button):
21096        (video::-webkit-media-controls-seek-back-button):
21097        (audio::-webkit-media-controls-seek-forward-button):
21098        (video::-webkit-media-controls-seek-forward-button):
21099        (audio::-webkit-media-controls-fullscreen-button):
21100        (video::-webkit-media-controls-fullscreen-button):
21101        (audio::-webkit-media-controls-rewind-button):
21102        (video::-webkit-media-controls-rewind-button):
21103        (audio::-webkit-media-controls-return-to-realtime-button):
21104        (video::-webkit-media-controls-return-to-realtime-button):
21105        (audio::-webkit-media-controls-toggle-closed-captions-button):
21106        (video::-webkit-media-controls-toggle-closed-captions-button):
21107        * css/mediaControlsQtFullscreen.css:
21108        (video::-webkit-media-controls-time-remaining-display):
21109        (video::-webkit-media-controls-seek-back-button):
21110        (video::-webkit-media-controls-seek-forward-button):
21111        (video::-webkit-media-controls-rewind-button):
21112        (video::-webkit-media-controls-return-to-realtime-button):
21113        (video::-webkit-media-controls-toggle-closed-captions-button):
21114
211152011-01-20  Alexander Pavlov  <apavlov@chromium.org>
21116
21117        Reviewed by Pavel Feldman.
21118
21119        Web Inspector: [REGRESSION] Canceling of CSS numeric values increment/decrement is broken
21120        https://bugs.webkit.org/show_bug.cgi?id=52816
21121
21122        * inspector/front-end/StylesSidebarPane.js:
21123        (WebInspector.StylePropertyTreeElement.prototype):
21124
211252011-01-20  Dawit Alemayehu  <adawit@kde.org>
21126
21127        Reviewed by Andreas Kling.
21128
21129        [Qt] Fix Layering violation in MediaPlayerPrivateQt.
21130        https://bugs.webkit.org/show_bug.cgi?id=52733
21131
21132        No new tests. no behavioral change.
21133
21134       * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
21135        (WebCore::MediaPlayerPrivateQt::commitLoad):
21136
211372011-01-20  Nate Chapin  <japhet@chromium.org>
21138
21139        Reviewed by Darin Fisher.
21140
21141        [V8] Call malloc and memcpy directly instead of
21142        of strdup in convertV8ObjectToNPVariant() when
21143        converting strings. If there is a null character
21144        in the string, our use of strdup causes us to allocate
21145        too little memory, leading to out of bounds reads.
21146
21147        https://bugs.webkit.org/show_bug.cgi?id=52631
21148
21149        * bindings/v8/V8NPUtils.cpp:
21150        (WebCore::convertV8ObjectToNPVariant):
21151
211522011-01-20  Andreas Kling  <kling@webkit.org>
21153
21154        Reviewed by Ariya Hidayat.
21155
21156        [Qt] Fill shadow scratch buffer with proper transparent pixels
21157
21158        QImage::fill() has no Qt::GlobalColor overload in Qt 4.7 (coming in 4.8)
21159        so doing QImage::fill(Qt::transparent) will actually fill all pixels with
21160        the RGBA value 0x00000013.
21161
21162        * platform/graphics/qt/ContextShadowQt.cpp:
21163        (WebCore::ShadowBuffer::scratchImage):
21164
211652011-01-19  Adam Roben  <aroben@apple.com>
21166
21167        Remove WKCACFContextFlusher
21168
21169        It wasn't doing anything.
21170
21171        Fixes <http://webkit.org/b/52752> WKCACFContextFlusher is unused
21172
21173        Reviewed by Simon Fraser.
21174
21175        * WebCore.vcproj/WebCore.vcproj: Removed WKCACFContextFlusher. Also let VS have its way with
21176        the file.
21177
21178        * platform/graphics/win/WKCACFContextFlusher.cpp: Removed.
21179        * platform/graphics/win/WKCACFContextFlusher.h: Removed.
21180
21181        * platform/graphics/win/WKCACFLayerRenderer.cpp:
21182        (WebCore::WKCACFLayerRenderer::~WKCACFLayerRenderer):
21183        (WebCore::WKCACFLayerRenderer::layerTreeDidChange):
21184        Stop telling WKCACFContextFlusher about our context, since it never did anything with it.
21185
211862011-01-19  Adam Roben  <aroben@apple.com>
21187
21188        Only flush our own context when we get resized
21189
21190        Fixes <http://webkit.org/b/52751> All WKCACFContexts with uncommitted
21191        changes get flushed whenever any composited page is resized
21192
21193        Reviewed by Simon Fraser.
21194
21195        * platform/graphics/win/WKCACFLayerRenderer.cpp:
21196        (WebCore::WKCACFLayerRenderer::resize): Just flush our own context, not all contexts
21197        WKCACFContextFlusher knows about. After all, ours is the only one that just got resized!
21198
211992011-01-19  Adam Roben  <aroben@apple.com>
21200
21201        Make WKCACFLayerRenderer ref-counted
21202
21203        This will be needed to handle cases where the client might release its reference to us while
21204        we're calling out to it.
21205
21206        WKCACFLayerRenderer now has a setClient function, which is used rather than passing the
21207        client to create(). This allows clients to null out the client pointer when they're done
21208        with the renderer.
21209
21210        Fixes <http://webkit.org/b/52749> WKCACFLayerRenderer should be
21211        ref-counted
21212
21213        Reviewed by Simon Fraser.
21214
21215        * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp:
21216        (WebCore::MediaPlayerPrivateFullscreenWindow::MediaPlayerPrivateFullscreenWindow):
21217        * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.h:
21218        Updated for WKCACFLayerRenderer changes.
21219
21220        * platform/graphics/win/WKCACFLayerRenderer.cpp:
21221        (WebCore::WKCACFLayerRenderer::acceleratedCompositingAvailable): Updated for changes to
21222        create().
21223        (WebCore::WKCACFLayerRenderer::create): No longer takes a WKCACFLayerRendererClient. Now
21224        returns a PassOwnPtr.
21225        (WebCore::WKCACFLayerRenderer::WKCACFLayerRenderer): No longer takes a
21226        WKCACFLayerRendererClient.
21227
21228        * platform/graphics/win/WKCACFLayerRenderer.h: Made WKCACFLayerRenderer inherit from
21229        RefCounted.
21230        (WebCore::WKCACFLayerRenderer::setClient): Added this simple setter.
21231
212322011-01-20  Csaba Osztrogonác  <ossy@webkit.org>
21233
21234        [Qt][V8] Unreviewed buildfix after r76248.
21235
21236        * bindings/v8/ScriptCachedFrameData.h: Add missing include.
21237
212382011-01-20  Pavel Feldman  <pfeldman@chromium.org>
21239
21240        Reviewed by Yury Semikhatsky.
21241
21242        Web Inspector: enable resource agent upon request.
21243        https://bugs.webkit.org/show_bug.cgi?id=52815
21244
21245        We should not send network-related notifications unless front-end
21246        is interested.
21247
21248        * inspector/Inspector.idl:
21249        * inspector/InspectorController.cpp:
21250        (WebCore::InspectorController::restoreInspectorStateFromCookie):
21251        (WebCore::InspectorController::connectFrontend):
21252        (WebCore::InspectorController::resourceAgent):
21253        * inspector/InspectorController.h:
21254        (WebCore::InspectorController::consoleAgent):
21255        (WebCore::InspectorController::cssAgent):
21256        (WebCore::InspectorController::domAgent):
21257        (WebCore::InspectorController::injectedScriptAgent):
21258        (WebCore::InspectorController::runtimeAgent):
21259        (WebCore::InspectorController::databaseAgent):
21260        (WebCore::InspectorController::domStorageAgent):
21261        (WebCore::InspectorController::fileSystemAgent):
21262        * inspector/InspectorInstrumentation.cpp:
21263        (WebCore::InspectorInstrumentation::retrieveResourceAgent):
21264        * inspector/InspectorResourceAgent.cpp:
21265        (WebCore::InspectorResourceAgent::restore):
21266        (WebCore::InspectorResourceAgent::~InspectorResourceAgent):
21267        (WebCore::InspectorResourceAgent::InspectorResourceAgent):
21268        * inspector/InspectorResourceAgent.h:
21269        (WebCore::InspectorResourceAgent::create):
21270        * inspector/InspectorState.cpp:
21271        (WebCore::InspectorState::InspectorState):
21272        * inspector/InspectorState.h:
21273
212742011-01-20  Zoltan Horvath  <zoltan@webkit.org>
21275
21276        Reviewed by Csaba Osztrogonác.
21277
21278        Refactoring of the custom allocation framework
21279        https://bugs.webkit.org/show_bug.cgi?id=49897
21280
21281        Inheriting from FastAllocBase can result in objects getting larger (bug #33896, #46589).
21282        The modification replaces Noncopyable and FastAllocBase classes and these inherits with their
21283        equivalent macro implementation at the necessary places.
21284
212852011-01-20  Mikhail Naganov  <mnaganov@chromium.org>
21286
21287        Reviewed by Pavel Feldman.
21288
21289        Web Inspector: [Chromium] CPU Profiles are cleared when navigating back and forth.
21290
21291        Profiles are now not cleared unless renderer instance was changed.
21292
21293        https://bugs.webkit.org/show_bug.cgi?id=52807
21294
21295        * inspector/InspectorController.cpp:
21296        (WebCore::InspectorController::restoreProfiler):
21297        * inspector/InspectorProfilerAgent.cpp:
21298        (WebCore::InspectorProfilerAgent::resetState):
21299        (WebCore::InspectorProfilerAgent::resetFrontendProfiles):
21300        * inspector/InspectorProfilerAgent.h:
21301
213022011-01-20  Alexander Pavlov  <apavlov@chromium.org>
21303
21304        Unreviewed, add new JS file refs missing from r76116.
21305
21306        * WebCore.gypi:
21307        * WebCore.vcproj/WebCore.vcproj:
21308        * inspector/front-end/WebKit.qrc:
21309
213102011-01-20  Alexander Pavlov  <apavlov@chromium.org>
21311
21312        Reviewed by Pavel Feldman.
21313
21314        Web Inspector: Crash when adding a rule for an ImageDocument
21315        https://bugs.webkit.org/show_bug.cgi?id=52811
21316
21317        * inspector/InspectorCSSAgent.cpp:
21318        (WebCore::InspectorCSSAgent::addRule2):
21319        (WebCore::InspectorCSSAgent::viaInspectorStyleSheet):
21320
213212011-01-20  Ilya Tikhonovsky  <loislo@chromium.org>
21322
21323        Reviewed by Pavel Feldman.
21324
21325        Web Inspector: cleanup InspectorController's friends list.
21326        We have a plan to extract InspectorAgent from InspectorController.
21327        InspectorAgent will be accessible only from InspectorController.
21328        As result we can simply made some methods public and remove long
21329        friends list.
21330
21331        https://bugs.webkit.org/show_bug.cgi?id=52806
21332
21333        * inspector/InjectedScriptHost.cpp:
21334        (WebCore::InjectedScriptHost::databaseForId):
21335        (WebCore::InjectedScriptHost::selectDatabase):
21336        (WebCore::InjectedScriptHost::selectDOMStorage):
21337        (WebCore::InjectedScriptHost::inspectorDOMAgent):
21338        (WebCore::InjectedScriptHost::frontend):
21339        * inspector/InspectorBrowserDebuggerAgent.cpp:
21340        (WebCore::InspectorBrowserDebuggerAgent::setDOMBreakpoint):
21341        (WebCore::InspectorBrowserDebuggerAgent::removeDOMBreakpoint):
21342        (WebCore::InspectorBrowserDebuggerAgent::willInsertDOMNode):
21343        (WebCore::InspectorBrowserDebuggerAgent::willRemoveDOMNode):
21344        (WebCore::InspectorBrowserDebuggerAgent::willModifyDOMAttr):
21345        (WebCore::InspectorBrowserDebuggerAgent::descriptionForDOMEvent):
21346        (WebCore::InspectorBrowserDebuggerAgent::pauseOnNativeEventIfNeeded):
21347        (WebCore::InspectorBrowserDebuggerAgent::willSendXMLHttpRequest):
21348        * inspector/InspectorController.h:
21349        (WebCore::InspectorController::frontend):
21350        * inspector/InspectorInstrumentation.cpp:
21351        (WebCore::InspectorInstrumentation::willInsertDOMNodeImpl):
21352        (WebCore::InspectorInstrumentation::didInsertDOMNodeImpl):
21353        (WebCore::InspectorInstrumentation::willRemoveDOMNodeImpl):
21354        (WebCore::InspectorInstrumentation::didRemoveDOMNodeImpl):
21355        (WebCore::InspectorInstrumentation::willModifyDOMAttrImpl):
21356        (WebCore::InspectorInstrumentation::didModifyDOMAttrImpl):
21357        (WebCore::InspectorInstrumentation::characterDataModifiedImpl):
21358        (WebCore::InspectorInstrumentation::willSendXMLHttpRequestImpl):
21359        (WebCore::InspectorInstrumentation::didReceiveResourceResponseImpl):
21360        (WebCore::InspectorInstrumentation::didFailLoadingImpl):
21361        (WebCore::InspectorInstrumentation::resourceRetrievedByXMLHttpRequestImpl):
21362        (WebCore::InspectorInstrumentation::addStartProfilingMessageToConsoleImpl):
21363        (WebCore::InspectorInstrumentation::pauseOnNativeEventIfNeeded):
21364        (WebCore::InspectorInstrumentation::cancelPauseOnNativeEvent):
21365        (WebCore::InspectorInstrumentation::retrieveTimelineAgent):
21366        (WebCore::InspectorInstrumentation::retrieveResourceAgent):
21367
213682011-01-19  Pavel Podivilov  <podivilov@chromium.org>
21369
21370        Reviewed by Yury Semikhatsky.
21371
21372        Web Inspector: implement JavaScriptBreakpointsSidebarPane based on events from debugger model.
21373        https://bugs.webkit.org/show_bug.cgi?id=52723
21374
21375        Extract all breakpoints-related presentation code from debugger model to JavaScriptBreakpointSidebarPane.
21376
21377        * inspector/front-end/Breakpoint.js:
21378        (WebInspector.Breakpoint):
21379        (WebInspector.Breakpoint.prototype.get data):
21380        (WebInspector.Breakpoint.prototype.remove):
21381        * inspector/front-end/BreakpointsSidebarPane.js:
21382        (WebInspector.JavaScriptBreakpointsSidebarPane):
21383        (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._breakpointAdded):
21384        (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._breakpointRemoved):
21385        (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._breakpointEnableChanged):
21386        (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._breakpointItemCheckboxClicked):
21387        (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._contextMenuEventFired):
21388        (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._debuggerPaused):
21389        (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._debuggerResumed):
21390        (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._addListElement):
21391        (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._removeListElement):
21392        (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._projectChanged):
21393        (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._compare):
21394        (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._compareBreakpoints):
21395        (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._setupBreakpointElement.didGetSourceLine):
21396        (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._setupBreakpointElement):
21397        (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._breakpointIdForDebuggerPausedEvent):
21398        (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._setBreakpointEnabled):
21399        (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._removeBreakpoint):
21400        (WebInspector.NativeBreakpointsSidebarPane):
21401        (WebInspector.XHRBreakpointsSidebarPane.prototype.addBreakpointItem):
21402        * inspector/front-end/DebuggerModel.js:
21403        (WebInspector.DebuggerModel.prototype.removeBreakpoint):
21404        (WebInspector.DebuggerModel.prototype.breakpointForId):
21405        (WebInspector.DebuggerModel.prototype._pausedScript):
21406        (WebInspector.DebuggerModel.prototype._resumedScript):
21407        * inspector/front-end/ScriptsPanel.js:
21408        (WebInspector.ScriptsPanel):
21409        * inspector/front-end/inspector.js:
21410
214112011-01-20  Dirk Schulze  <krit@webkit.org>
21412
21413        Reviewed by Andreas Kling.
21414
21415        SVG Pattern doesn't take the viewBox of a referenced Pattern
21416        https://bugs.webkit.org/show_bug.cgi?id=52804
21417        
21418        SVGPattern element didn't use the viewBox of another SVGPattern element, referenced
21419        by xlink:href. Modified PatternAttributes, to take the value of the viewBox of the
21420        SVGPattern element as well, if the attribute was set.
21421        This gets checked by a W3C SVG test case.        
21422
21423        Test: svg/W3C-SVG-1.1-SE/pservers-pattern-04-f.svg
21424
21425        * rendering/svg/RenderSVGResourcePattern.cpp:
21426        (WebCore::RenderSVGResourcePattern::buildTileImageTransform):
21427        * svg/PatternAttributes.h:
21428        (WebCore::PatternAttributes::PatternAttributes):
21429        (WebCore::PatternAttributes::viewBox):
21430        (WebCore::PatternAttributes::setViewBox):
21431        (WebCore::PatternAttributes::hasViewBox):
21432        * svg/SVGPatternElement.cpp:
21433        (WebCore::SVGPatternElement::collectPatternAttributes):
21434
214352011-01-19  Stephen White  <senorblanco@chromium.org>
21436
21437        [Re-land of r76159 with a compile fix for the Chromium linux shlib
21438        build.]
21439
21440        Reviewed by James Robinson.
21441
21442        Implement accelerated path drawing and clipping for the Canvas2D GPU
21443        path.
21444        https://bugs.webkit.org/show_bug.cgi?id=52627
21445        
21446        This is done with a simple curve interpolator and the GLU tesselator,
21447        which is good enough for a 3-5X speedup on
21448        http://ie.microsoft.com/testdrive/Performance/Galactic/Default.html.
21449
21450        Covered by canvas/philip/2d.path.clip.basic.html, and many, many more.
21451        All tests canvas/philip and fast/canvas paths pass with no
21452        regressions, although two have minor pixel differences which require
21453        rebaselining.
21454
21455        * WebCore.gyp/WebCore.gyp:
21456        Add internal_glu include path to chromium build.
21457        * WebCore.gypi:
21458        Add internal_glu files to chromium build.
21459        * html/canvas/CanvasRenderingContext2D.cpp:
21460        (WebCore::CanvasRenderingContext2D::reset):
21461        (WebCore::CanvasRenderingContext2D::platformLayer):
21462        Make CanvasRenderingContext2D more robust against failure to create
21463        a DrawingBuffer.
21464        * platform/graphics/chromium/DrawingBufferChromium.cpp:
21465        (WebCore::DrawingBuffer::DrawingBuffer):
21466        As in DrawingBufferMac.cpp, call reset() from the constructor.
21467        Also initialize size to (-1, -1), so reset() doesn't early-out.
21468        Add initializers for depthBuffer and stencilBuffer, and remove
21469        multisampleDepthStencilBuffer.
21470        * platform/graphics/chromium/GLES2Canvas.cpp:
21471        Remove some unused #includes.
21472        (WebCore::GLES2Canvas::State::State):
21473        Add clipping state, and implement save/restore via the copy constructor.
21474        (WebCore::operator*):
21475        (WebCore::Quadratic::Quadratic):
21476        (WebCore::Quadratic::fromBezier):
21477        (WebCore::Quadratic::evaluate):
21478        Quadratic Bezier curve class.
21479        (WebCore::Cubic::Cubic):
21480        (WebCore::Cubic::fromBezier):
21481        (WebCore::Cubic::evaluate):
21482        Cubic Bezier curve class.
21483        (WebCore::GLES2Canvas::clearRect):
21484        Add clipping support to clearRect().
21485        (WebCore::GLES2Canvas::fillPath):
21486        Implement fillPath().
21487        (WebCore::GLES2Canvas::fillRect):
21488        Add clipping support to fillRect().
21489        (WebCore::GLES2Canvas::clipPath):
21490        Implement clipPath().
21491        (WebCore::GLES2Canvas::clipOut):
21492        Stub out clipOut() (not called by Canvas 2D).
21493        (WebCore::GLES2Canvas::restore):
21494        When restoring, draw any remaining clipping paths to the stencil buffer.
21495        (WebCore::GLES2Canvas::drawTexturedRect):
21496        Add clipping support.
21497        (WebCore::interpolateQuadratic):
21498        (WebCore::interpolateCubic):
21499        Simple curve interpolation, using the Cubic and Quadratic classes.
21500        (WebCore::PolygonData::PolygonData):
21501        A struct to hold the tesselation data for callbacks.
21502        (WebCore::beginData):
21503        (WebCore::edgeFlagData):
21504        (WebCore::vertexData):
21505        (WebCore::endData):
21506        (WebCore::combineData):
21507        internal_glu tesselation callbacks.
21508        (WebCore::GLES2Canvas::createVertexBufferFromPath):
21509        Build an interpolated, tesselated vertex buffer and element array buffer from a given path, suitable for filling.
21510        (WebCore::GLES2Canvas::beginStencilDraw):
21511        Enable stencilling, and disable draws to the color buffer.
21512        (WebCore::GLES2Canvas::applyClipping):
21513        If clipping is enabled, set the appropriate GL state.
21514        * platform/graphics/chromium/GLES2Canvas.h:
21515        Document the flavours of drawTexturedRect() a bit, so I don't get confused.
21516        * platform/graphics/gpu/DrawingBuffer.cpp:
21517        (WebCore::DrawingBuffer::clear):
21518        (WebCore::DrawingBuffer::createSecondaryBuffers):
21519        (WebCore::DrawingBuffer::resizeDepthStencil):
21520        (WebCore::DrawingBuffer::reset):
21521        * platform/graphics/gpu/DrawingBuffer.h:
21522        Unify m_multisampleDepthStencilBuffer with m_depthStencilBuffer. 
21523        Implement separate depth and stencil buffers for when
21524        OES_packed_depth_stencil is not available.  Refactor creation of
21525        multisampled and non-multisampled depth and stencil buffers into
21526        resizeDepthStencil().
21527        * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
21528        (WebCore::SharedGraphicsContext3D::create):
21529        Turn on stencil, turn off depth, turn off antialiasing (for now).
21530        (WebCore::SharedGraphicsContext3D::enableStencil):
21531        * platform/graphics/gpu/SharedGraphicsContext3D.h:
21532        Implement stencil enable/disable.
21533        * platform/graphics/gpu/mac/DrawingBufferMac.mm:
21534        (WebCore::DrawingBuffer::DrawingBuffer):
21535        Remove m_multisampleDepthStencilBuffer.  Set the size to (-1, -1)
21536        on creation, so reset() doesn't early-out.  Initialize m_depthBuffer
21537        and m_stencilBuffer.
21538        * platform/graphics/skia/GraphicsContextSkia.cpp:
21539        (WebCore::GraphicsContext::canvasClip):
21540        (WebCore::GraphicsContext::clipOut):
21541        (WebCore::GraphicsContext::clipPath):
21542        (WebCore::GraphicsContext::fillPath):
21543        Put in GPU hooks for path clipping, and path drawing.
21544        * platform/graphics/skia/PlatformContextSkia.cpp:
21545        (WebCore::PlatformContextSkia::canAccelerate):
21546        Don't check for clipping paths in canAccelerate() (since we can
21547        now accelerate them).
21548        (WebCore::PlatformContextSkia::uploadSoftwareToHardware):
21549        Don't do clipping when uploading software draws to hardware.
21550        * thirdparty/glu/README.webkit:
21551        * thirdparty/glu/gluos.h:
21552        #undef MIN and MAX, to fix warnings-as-errors in Chrome/Mac build.
21553        * thirdparty/glu/libtess/geom.c:
21554        * thirdparty/glu/libtess/priorityq.c:
21555        * thirdparty/glu/libtess/render.c:
21556        Use do{}while(0) instead of if(1)else construct in macro.
21557        * thirdparty/glu/libtess/sweep.c:
21558        (IsWindingInside):
21559        (DoneEdgeDict):
21560        Fix some warnings treated as errors for the Linux Release build.
21561
21562
215632011-01-20  Pavel Feldman  <pfeldman@chromium.org>
21564
21565        Web Inspector: move releaseObjectGroup to the new Runtime agent.
21566        https://bugs.webkit.org/show_bug.cgi?id=52803
21567        (accedentally landed as r76231)
21568
21569        * inspector/InspectorContorller.h:
21570        * inspector/InspectorContorller.cpp:
21571        * inspector/InspectorRuntimeAgent.h:
21572        * inspector/InspectorRuntimeAgent.cpp:
21573
215742011-01-20  Pavel Feldman  <pfeldman@chromium.org>
21575
21576        Not reviewed: build fix.
21577
21578        * inspector/InspectorState.h:
21579        (WebCore::InspectorState::setBoolean):
21580        (WebCore::InspectorState::setString):
21581        (WebCore::InspectorState::setLong):
21582
215832011-01-20  Pavel Feldman  <pfeldman@chromium.org>
21584
21585        Reviewed by Yury Semikhatsky.
21586
21587        Web Inspector: further simplify InspectorState.
21588        https://bugs.webkit.org/show_bug.cgi?id=52731
21589
21590        This change moves XHR logging flag into console agent,
21591        removes InspectorState pushing to the front-end.
21592
21593        * inspector/Inspector.idl:
21594        * inspector/InspectorConsoleAgent.cpp:
21595        (WebCore::InspectorConsoleAgent::InspectorConsoleAgent):
21596        (WebCore::InspectorConsoleAgent::resourceRetrievedByXMLHttpRequest):
21597        (WebCore::InspectorConsoleAgent::setMonitoringXHREnabled):
21598        (WebCore::InspectorConsoleAgent::setConsoleMessagesEnabled):
21599        (WebCore::InspectorConsoleAgent::addConsoleMessage):
21600        * inspector/InspectorConsoleAgent.h:
21601        * inspector/InspectorController.cpp:
21602        (WebCore::InspectorController::InspectorController):
21603        * inspector/InspectorController.h:
21604        (WebCore::InspectorController::state):
21605        (WebCore::InspectorController::settings):
21606        * inspector/InspectorState.cpp:
21607        (WebCore::InspectorState::InspectorState):
21608        (WebCore::InspectorState::registerBoolean):
21609        (WebCore::InspectorState::registerString):
21610        (WebCore::InspectorState::registerLong):
21611        (WebCore::InspectorState::registerObject):
21612        (WebCore::InspectorState::Property::create):
21613        * inspector/InspectorState.h:
21614        * inspector/front-end/ConsoleView.js:
21615        (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher.dispatcher.consoleMessagesCleared):
21616        (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher.dispatcher.monitoringXHRStateChanged):
21617        (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher):
21618        (WebInspector.ConsoleView.prototype._handleContextMenuEvent):
21619        * inspector/front-end/inspector.js:
21620
216212011-01-20  Csaba Osztrogonác  <ossy@webkit.org>
21622
21623        Unreviewed buildfix.
21624
21625        [Qt][V8] Remove unnecessary files after r76224.
21626
21627        * WebCore.pro:
21628
216292011-01-20  Ilya Tikhonovsky  <loislo@chromium.org>
21630
21631        Reviewed by Yury Semikhatsky.
21632
21633        Web Inspector: prepare for extracting InspectorAgent from InspectorController.
21634        https://bugs.webkit.org/show_bug.cgi?id=52797
21635
21636        * inspector/CodeGeneratorInspector.pm:
21637        * inspector/InspectorController.h:
21638        (WebCore::InspectorController::inspectorAgent):
21639        (WebCore::InspectorController::cssAgent):
21640        (WebCore::InspectorController::injectedScriptAgent):
21641        (WebCore::InspectorController::resourceAgent):
21642        (WebCore::InspectorController::runtimeAgent):
21643        (WebCore::InspectorController::timelineAgent):
21644        (WebCore::InspectorController::databaseAgent):
21645        (WebCore::InspectorController::domStorageAgent):
21646        (WebCore::InspectorController::fileSystemAgent):
21647        (WebCore::InspectorController::browserDebuggerAgent):
21648        (WebCore::InspectorController::debuggerAgent):
21649        (WebCore::InspectorController::profilerAgent):
21650        (WebCore::InspectorController::applicationCacheAgent):
21651
216522011-01-20  Sheriff Bot  <webkit.review.bot@gmail.com>
21653
21654        Unreviewed, rolling out r76215.
21655        http://trac.webkit.org/changeset/76215
21656        https://bugs.webkit.org/show_bug.cgi?id=52799
21657
21658        Caused regressions in Chromium; morrita is going to look at it
21659        tomrorow (Requested by jorlow on #webkit).
21660
21661        * dom/TextEvent.h:
21662        * dom/TextEventInputType.h:
21663        * editing/CompositeEditCommand.cpp:
21664        (WebCore::CompositeEditCommand::rebalanceWhitespaceAt):
21665        * editing/CompositeEditCommand.h:
21666        * editing/Editor.cpp:
21667        (WebCore::Editor::insertTextWithoutSendingTextEvent):
21668        (WebCore::Editor::confirmComposition):
21669        (WebCore::Editor::setComposition):
21670        * editing/Editor.h:
21671        * editing/InsertTextCommand.cpp:
21672        (WebCore::InsertTextCommand::input):
21673        * editing/InsertTextCommand.h:
21674        * editing/TypingCommand.cpp:
21675        (WebCore::TypingCommand::TypingCommand):
21676        (WebCore::TypingCommand::insertText):
21677        (WebCore::TypingCommand::insertTextRunWithoutNewlines):
21678        * editing/TypingCommand.h:
21679        (WebCore::TypingCommand::create):
21680
216812010-12-14  Yury Semikhatsky  <yurys@chromium.org>
21682
21683        Reviewed by Adam Barth.
21684
21685        [V8] Get rid of delayed exception reporting in V8ConsoleMessage.cpp
21686        https://bugs.webkit.org/show_bug.cgi?id=51044
21687
21688        * WebCore.gypi:
21689        * bindings/v8/V8ConsoleMessage.cpp: Removed.
21690        * bindings/v8/V8ConsoleMessage.h: Removed.
21691        * bindings/v8/V8DOMWindowShell.cpp:
21692        (WebCore::v8UncaughtExceptionHandler):
21693        (WebCore::reportUnsafeJavaScriptAccess):
21694        (WebCore::V8DOMWindowShell::initContextIfNeeded):
21695        * bindings/v8/V8Proxy.cpp:
21696        (WebCore::addMessageToConsole):
21697        (WebCore::logInfo):
21698        (WebCore::V8Proxy::reportUnsafeAccessTo):
21699        (WebCore::V8Proxy::runScript):
21700        (WebCore::V8Proxy::callFunction):
21701        (WebCore::V8Proxy::newInstance):
21702        * bindings/v8/V8Proxy.h:
21703        * bindings/v8/WorkerContextExecutionProxy.cpp:
21704        * bindings/v8/specialization/V8BindingState.cpp:
21705        (WebCore::::immediatelyReportUnsafeAccessTo):
21706
217072011-01-19  MORITA Hajime  <morrita@google.com>
21708
21709        Reviewed by Eric Seidel.
21710
21711        ShadowElement::m_shadowParent should be removed
21712        https://bugs.webkit.org/show_bug.cgi?id=52558
21713
21714        No new tests. No behavioral change.
21715
21716        * rendering/ShadowElement.h:
21717        (WebCore::ShadowElement::ShadowElement):
21718
217192011-01-20  Hans Wennborg  <hans@chromium.org>
21720
21721        Reviewed by Jeremy Orlow.
21722
21723        IndexedDB: IDBObjectStore.get should fire onsuccess rather than onerror
21724        https://bugs.webkit.org/show_bug.cgi?id=52725
21725
21726        Let IDBObjectStore.get() fire the onsuccess handler with the value
21727        'undefined' for when an object does not exist in the store.
21728
21729        Update SerializedScriptValue to provide such an undefined value.
21730
21731        * bindings/v8/SerializedScriptValue.cpp:
21732        (WebCore::SerializedScriptValue::nullValue):
21733        (WebCore::SerializedScriptValue::undefinedValue):
21734        * bindings/v8/SerializedScriptValue.h:
21735        * storage/IDBObjectStoreBackendImpl.cpp:
21736        (WebCore::IDBObjectStoreBackendImpl::getInternal):
21737
217382010-12-27  Yury Semikhatsky  <yurys@chromium.org>
21739
21740        Reviewed by Pavel Feldman.
21741
21742        WebCore doesn't fire window.onerror event when uncaught JavaScript exceptions are thrown
21743        https://bugs.webkit.org/show_bug.cgi?id=8519
21744
21745        Uncaught exceptions are propagated to window.onerror hander if one is present.
21746        The handler is expected to be a function accepting three arguments: error message,
21747        resource url and line number where the exception occured.
21748
21749        It was decided to dispatch ErrorEvent to all listeners/handlers no matter if they
21750        were created in the same isolated world where the exception occured or not.
21751
21752        Tests: fast/events/window-onerror1.html
21753               fast/events/window-onerror10.html
21754               fast/events/window-onerror11.html
21755               fast/events/window-onerror12.html
21756               fast/events/window-onerror2.html
21757               fast/events/window-onerror3.html
21758               fast/events/window-onerror4.html
21759               fast/events/window-onerror5.html
21760               fast/events/window-onerror6.html
21761               fast/events/window-onerror7.html
21762               fast/events/window-onerror8.html
21763               fast/events/window-onerror9.html
21764               http/tests/security/window-onerror-exception-in-iframe.html
21765               userscripts/window-onerror-for-isolated-world-1.html
21766               userscripts/window-onerror-for-isolated-world-2.html
21767
21768        * Android.jscbindings.mk:
21769        * CMakeLists.txt:
21770        * GNUmakefile.am:
21771        * WebCore.gypi:
21772        * WebCore.order:
21773        * WebCore.pro:
21774        * WebCore.vcproj/WebCore.vcproj:
21775        * WebCore.xcodeproj/project.pbxproj:
21776        * bindings/js/JSBindingsAllInOne.cpp:
21777        * bindings/js/JSDOMBinding.cpp:
21778        (WebCore::reportException):
21779        * bindings/js/JSErrorHandler.cpp: Renamed from WebCore/bindings/js/JSWorkerContextErrorHandler.cpp.
21780        (WebCore::JSErrorHandler::JSErrorHandler):
21781        (WebCore::JSErrorHandler::~JSErrorHandler):
21782        (WebCore::JSErrorHandler::handleEvent):
21783        * bindings/js/JSErrorHandler.h: Copied from WebCore/bindings/js/JSWorkerContextErrorHandler.h.
21784        (WebCore::JSErrorHandler::create):
21785        (WebCore::createJSErrorHandler):
21786        * bindings/js/JSEventListener.h:
21787        * bindings/scripts/CodeGeneratorJS.pm:
21788        * bindings/scripts/CodeGeneratorV8.pm:
21789        * bindings/v8/V8ConsoleMessage.cpp:
21790        (WebCore::V8ConsoleMessage::dispatchNow):
21791        (WebCore::V8ConsoleMessage::handler): the method was changed to use generic WebCore exception
21792        reporting mechanism which is also used by JSC bindings.
21793        * bindings/v8/V8ConsoleMessage.h:
21794        * bindings/v8/V8EventListener.h:
21795        * bindings/v8/V8WindowErrorHandler.cpp: Renamed from WebCore/bindings/js/JSWorkerContextErrorHandler.h.
21796        (WebCore::V8WindowErrorHandler::V8WindowErrorHandler):
21797        (WebCore::V8WindowErrorHandler::callListenerFunction):
21798        * bindings/v8/V8WindowErrorHandler.h: Copied from WebCore/dom/ErrorEvent.cpp.
21799        (WebCore::V8WindowErrorHandler::create):
21800        * bindings/v8/WorkerContextExecutionProxy.cpp:
21801        (WebCore::v8MessageHandler):
21802        * bindings/v8/WorkerScriptController.cpp:
21803        (WebCore::WorkerScriptController::evaluate):
21804        * dom/Document.cpp:
21805        (WebCore::Document::errorEventTarget):
21806        (WebCore::Document::logExceptionToConsole):
21807        (WebCore::Document::addMessage):
21808        * dom/Document.h:
21809        * dom/ErrorEvent.cpp:
21810        * dom/ErrorEvent.h:
21811        * dom/Event.cpp:
21812        (WebCore::Event::isErrorEvent):
21813        * dom/Event.h:
21814        * dom/ScriptExecutionContext.cpp:
21815        (WebCore::ScriptExecutionContext::PendingException::PendingException):
21816        (WebCore::ScriptExecutionContext::ScriptExecutionContext):
21817        (WebCore::ScriptExecutionContext::reportException): this method is not virtual anymore to
21818        ensure that error event dispatching algorithm is the same in WorkerContext and in Document.
21819        (WebCore::ScriptExecutionContext::dispatchErrorEvent):
21820        * dom/ScriptExecutionContext.h:
21821        * websockets/WebSocket.cpp:
21822        (WebCore::WebSocket::connect):
21823        * websockets/WebSocketChannel.cpp:
21824        (WebCore::WebSocketChannel::didOpen):
21825        (WebCore::WebSocketChannel::didFail):
21826        (WebCore::WebSocketChannel::appendToBuffer):
21827        * websockets/WebSocketHandshake.cpp:
21828        (WebCore::WebSocketHandshake::readServerHandshake):
21829        (WebCore::WebSocketHandshake::readStatusLine):
21830        (WebCore::WebSocketHandshake::readHTTPHeaders):
21831        (WebCore::WebSocketHandshake::checkResponseHeaders):
21832        * workers/DefaultSharedWorkerRepository.cpp:
21833        (WebCore::postExceptionTask):
21834        (WebCore::postConsoleMessageTask):
21835        * workers/WorkerContext.cpp:
21836        (WebCore::WorkerContext::WorkerContext):
21837        (WebCore::WorkerContext::errorEventTarget):
21838        (WebCore::WorkerContext::logExceptionToConsole):
21839        (WebCore::WorkerContext::addMessage):
21840        * workers/WorkerContext.h:
21841        * workers/WorkerMessagingProxy.cpp:
21842        (WebCore::WorkerExceptionTask::performTask):
21843        (WebCore::postConsoleMessageTask):
21844        * xml/XMLHttpRequest.cpp:
21845        (WebCore::reportUnsafeUsage):
21846
218472011-01-19  MORITA Hajime  <morrita@google.com>
21848
21849        Reviewed by Ryosuke Niwa.
21850
21851        Space and tab characters "sent" by an input method give totally different results than typing them directly
21852        https://bugs.webkit.org/show_bug.cgi?id=5241
21853        
21854        * Introduced TextEvent::InputTypeComposition and TypingCommand::TextCompositionType to 
21855          distinguish text input which is originated by composition.
21856        * Generalized rebalanceWhitespaceAt() to rebalanceWhitespaceOnTextSubstring() to rebalancing 
21857          range of string on text node, instead of surrounding part of that.
21858
21859        Test: editing/inserting/insert-composition-whitespace.html
21860
21861        * dom/TextEvent.h:
21862        (WebCore::TextEvent::isComposition):
21863        * dom/TextEventInputType.h: Added TextEventInputComposition as a member of TextEvent::InputType
21864        * editing/CompositeEditCommand.cpp:
21865        (WebCore::containsOnlyWhitespace):
21866        (WebCore::CompositeEditCommand::shouldRebalanceLeadingWhitespaceFor):
21867        (WebCore::CompositeEditCommand::canRebalance):
21868        (WebCore::CompositeEditCommand::rebalanceWhitespaceAt):
21869        (WebCore::CompositeEditCommand::rebalanceWhitespaceOnTextSubstring): Added: A generalized version of rebalanceWhitespaceAt(), which takes a range inside Text string.
21870        * editing/CompositeEditCommand.h:
21871        * editing/Editor.cpp:
21872        (WebCore::Editor::insertTextForConfirmedComposition): Added.
21873        (WebCore::Editor::insertTextWithoutSendingTextEvent):
21874        (WebCore::Editor::confirmComposition): Now uses insertTextForConfirmedComposition().
21875        (WebCore::Editor::setComposition):
21876        * editing/Editor.h:
21877        * editing/InsertTextCommand.cpp:
21878        (WebCore::InsertTextCommand::input):
21879        * editing/InsertTextCommand.h:
21880        * editing/TypingCommand.cpp:
21881        (WebCore::TypingCommand::TypingCommand):
21882        (WebCore::TypingCommand::insertText):
21883        (WebCore::TypingCommand::insertTextRunWithoutNewlines):
21884        * editing/TypingCommand.h: Added TypingCommand::m_compositionType and TypingCommand::TextCompositionType
21885        (WebCore::TypingCommand::setCompositionType): Added.
21886        (WebCore::TypingCommand::create):
21887
218882011-01-19  Dominic Cooney  <dominicc@google.com>
21889
21890        Reviewed by Kent Tamura.
21891
21892        Make <keygen> no longer appear to be a <select> element to script.
21893        https://bugs.webkit.org/show_bug.cgi?id=52557
21894
21895        The intent is to put <keygen> options into shadow DOM. This change
21896        takes the first step by hiding the <select> element from
21897        JavaScript.
21898
21899        Test: fast/dom/HTMLKeygenElement/keygen.html
21900
21901        * CMakeLists.txt: Adds new IDL-derived wrapper.
21902        * DerivedSources.cpp:
21903        * DerivedSources.make:
21904        * GNUmakefile.am:
21905        * WebCore.gypi:
21906        * WebCore.pri:
21907        * WebCore.vcproj/WebCore.vcproj:
21908        * WebCore.xcodeproj/project.pbxproj:
21909        * bindings/gobject/GNUmakefile.am:
21910        * bindings/gobject/WebKitHTMLElementWrapperFactory.cpp:
21911        (WebKit::createKeygenWrapper):
21912        (WebKit::createHTMLElementWrapper):
21913        * bindings/objc/DOM.mm:
21914        (WebCore::createElementClassMap): Keygen no longer DOMHTMLSelectElement
21915        * html/HTMLKeygenElement.h:
21916        (WebCore::HTMLKeygenElement::willValidate): Now public.
21917        * html/HTMLKeygenElement.idl: Added.
21918        * html/HTMLTagNames.in: Keygen's wrapper is HTMLKeygenElement.
21919        * page/DOMWindow.idl: Add HTMLKeygenElement constructor.
21920
219212011-01-19  Sheriff Bot  <webkit.review.bot@gmail.com>
21922
21923        Unreviewed, rolling out r76203.
21924        http://trac.webkit.org/changeset/76203
21925        https://bugs.webkit.org/show_bug.cgi?id=52784
21926
21927        Broke Win compile on Chromium bots (Requested by dimich on
21928        #webkit).
21929
21930        * WebCore.gypi:
21931        * bindings/v8/V8DOMWindowShell.cpp:
21932        (WebCore::reportFatalErrorInV8):
21933        * page/PageGroup.cpp:
21934        (WebCore::PageGroup::isLinkVisited):
21935        * platform/android/PlatformBridge.h:
21936        * platform/audio/chromium/AudioBusChromium.cpp:
21937        (WebCore::createBusFromInMemoryAudioFile):
21938        * platform/chromium/ChromiumBridge.h: Added.
21939        * platform/chromium/ChromiumDataObjectLegacy.cpp:
21940        (WebCore::ChromiumDataObjectLegacy::getData):
21941        * platform/chromium/DragDataChromium.cpp:
21942        (WebCore::DragData::asURL):
21943        * platform/chromium/FileSystemChromium.cpp:
21944        (WebCore::deleteFile):
21945        (WebCore::deleteEmptyDirectory):
21946        (WebCore::getFileSize):
21947        (WebCore::getFileModificationTime):
21948        (WebCore::revealFolderInOS):
21949        (WebCore::directoryName):
21950        (WebCore::pathByAppendingComponent):
21951        (WebCore::makeAllDirectories):
21952        (WebCore::fileExists):
21953        (WebCore::openFile):
21954        (WebCore::closeFile):
21955        (WebCore::seekFile):
21956        (WebCore::truncateFile):
21957        (WebCore::readFromFile):
21958        (WebCore::writeToFile):
21959        * platform/chromium/LanguageChromium.cpp:
21960        (WebCore::platformDefaultLanguage):
21961        * platform/chromium/LinkHashChromium.cpp:
21962        (WebCore::visitedLinkHash):
21963        * platform/chromium/MIMETypeRegistryChromium.cpp:
21964        (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
21965        (WebCore::MIMETypeRegistry::getPreferredExtensionForMIMEType):
21966        (WebCore::MIMETypeRegistry::isSupportedImageMIMEType):
21967        (WebCore::MIMETypeRegistry::isSupportedJavaScriptMIMEType):
21968        (WebCore::MIMETypeRegistry::isSupportedNonImageMIMEType):
21969        * platform/chromium/PasteboardChromium.cpp:
21970        (WebCore::Pasteboard::writeSelection):
21971        (WebCore::Pasteboard::writePlainText):
21972        (WebCore::Pasteboard::writeURL):
21973        (WebCore::Pasteboard::writeImage):
21974        (WebCore::Pasteboard::canSmartReplace):
21975        (WebCore::Pasteboard::plainText):
21976        (WebCore::Pasteboard::documentFragment):
21977        * platform/chromium/PlatformBridge.h:
21978        * platform/chromium/PlatformScreenChromium.cpp:
21979        (WebCore::screenDepth):
21980        (WebCore::screenDepthPerComponent):
21981        (WebCore::screenIsMonochrome):
21982        (WebCore::screenRect):
21983        (WebCore::screenAvailableRect):
21984        * platform/chromium/ReadableDataObject.cpp:
21985        (WebCore::ReadableDataObject::getData):
21986        (WebCore::ReadableDataObject::urlTitle):
21987        (WebCore::ReadableDataObject::htmlBaseUrl):
21988        (WebCore::ReadableDataObject::filenames):
21989        (WebCore::ReadableDataObject::ensureTypeCacheInitialized):
21990        * platform/chromium/SSLKeyGeneratorChromium.cpp:
21991        (WebCore::signedPublicKeyAndChallengeString):
21992        * platform/chromium/ScrollbarThemeChromium.cpp:
21993        * platform/chromium/ScrollbarThemeChromiumLinux.cpp:
21994        (WebCore::ScrollbarThemeChromiumLinux::scrollbarThickness):
21995        (WebCore::ScrollbarThemeChromiumLinux::paintTrackPiece):
21996        (WebCore::ScrollbarThemeChromiumLinux::paintButton):
21997        (WebCore::ScrollbarThemeChromiumLinux::paintThumb):
21998        (WebCore::ScrollbarThemeChromiumLinux::buttonSize):
21999        (WebCore::ScrollbarThemeChromiumLinux::minimumThumbLength):
22000        * platform/chromium/ScrollbarThemeChromiumMac.mm:
22001        (WebCore::scrollbarStateToThemeState):
22002        (WebCore::ScrollbarThemeChromiumMac::paint):
22003        * platform/chromium/ScrollbarThemeChromiumWin.cpp:
22004        (WebCore::ScrollbarThemeChromiumWin::scrollbarThickness):
22005        (WebCore::ScrollbarThemeChromiumWin::paintTrackPiece):
22006        (WebCore::ScrollbarThemeChromiumWin::paintButton):
22007        (WebCore::ScrollbarThemeChromiumWin::paintThumb):
22008        (WebCore::ScrollbarThemeChromiumWin::buttonSize):
22009        * platform/chromium/SharedTimerChromium.cpp:
22010        (WebCore::setSharedTimerFiredFunction):
22011        (WebCore::setSharedTimerFireTime):
22012        (WebCore::stopSharedTimer):
22013        * platform/chromium/SuddenTerminationChromium.cpp:
22014        (WebCore::disableSuddenTermination):
22015        (WebCore::enableSuddenTermination):
22016        * platform/chromium/SystemTimeChromium.cpp:
22017        (WebCore::currentTime):
22018        * platform/chromium/WritableDataObject.cpp:
22019        (WebCore::WritableDataObject::setData):
22020        * platform/graphics/chromium/CrossProcessFontLoading.mm:
22021        * platform/graphics/chromium/FontCacheChromiumWin.cpp:
22022        (WebCore::fontContainsCharacter):
22023        (WebCore::FillLogFont):
22024        * platform/graphics/chromium/FontCacheLinux.cpp:
22025        (WebCore::FontCache::getFontDataForCharacters):
22026        * platform/graphics/chromium/FontChromiumWin.cpp:
22027        (WebCore::Font::drawGlyphs):
22028        * platform/graphics/chromium/FontPlatformDataChromiumWin.cpp:
22029        (WebCore::FontPlatformData::scriptFontProperties):
22030        * platform/graphics/chromium/FontPlatformDataLinux.cpp:
22031        (WebCore::FontPlatformData::querySystemForRenderStyle):
22032        * platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp:
22033        (WebCore::fillBMPGlyphs):
22034        * platform/graphics/chromium/ImageChromium.cpp:
22035        (WebCore::Image::loadPlatformResource):
22036        * platform/graphics/chromium/ImageChromiumMac.mm:
22037        (WebCore::Image::loadPlatformResource):
22038        * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:
22039        (WebCore::SimpleFontData::platformInit):
22040        (WebCore::SimpleFontData::determinePitch):
22041        (WebCore::SimpleFontData::platformWidthForGlyph):
22042        * platform/graphics/chromium/UniscribeHelperTextRun.cpp:
22043        (WebCore::UniscribeHelperTextRun::tryToPreloadFont):
22044        * platform/graphics/skia/FontCustomPlatformData.cpp:
22045        (WebCore::FontCustomPlatformData::fontPlatformData):
22046        * platform/network/chromium/CookieJarChromium.cpp:
22047        (WebCore::setCookies):
22048        (WebCore::cookies):
22049        (WebCore::cookieRequestHeaderFieldValue):
22050        (WebCore::cookiesEnabled):
22051        (WebCore::getRawCookies):
22052        (WebCore::deleteCookie):
22053        * platform/network/chromium/DNSChromium.cpp:
22054        (WebCore::prefetchDNS):
22055        * platform/qt/PlatformBridge.h:
22056        * platform/sql/chromium/SQLiteFileSystemChromium.cpp:
22057        (WebCore::SQLiteFileSystem::deleteDatabaseFile):
22058        (WebCore::SQLiteFileSystem::getDatabaseFileSize):
22059        * platform/sql/chromium/SQLiteFileSystemChromiumPosix.cpp:
22060        (chromiumOpen):
22061        (chromiumDelete):
22062        (chromiumAccess):
22063        * platform/sql/chromium/SQLiteFileSystemChromiumWin.cpp:
22064        * plugins/chromium/PluginDataChromium.cpp:
22065        (WebCore::PluginCache::plugins):
22066        * rendering/RenderThemeChromiumMac.mm:
22067        (WebCore::RenderThemeChromiumMac::usesTestModeFocusRingColor):
22068        * rendering/RenderThemeChromiumSkia.cpp:
22069        (WebCore::RenderThemeChromiumSkia::caretBlinkInterval):
22070        * rendering/RenderThemeChromiumWin.cpp:
22071        (WebCore::RenderThemeChromiumWin::platformActiveSelectionBackgroundColor):
22072        (WebCore::RenderThemeChromiumWin::platformInactiveSelectionBackgroundColor):
22073        (WebCore::RenderThemeChromiumWin::platformActiveSelectionForegroundColor):
22074        (WebCore::RenderThemeChromiumWin::systemColor):
22075        (WebCore::RenderThemeChromiumWin::paintButton):
22076        (WebCore::RenderThemeChromiumWin::paintSliderTrack):
22077        (WebCore::menuListButtonWidth):
22078        (WebCore::RenderThemeChromiumWin::paintMenuList):
22079        (WebCore::RenderThemeChromiumWin::paintTextFieldInternal):
22080        (WebCore::RenderThemeChromiumWin::paintInnerSpinButton):
22081        (WebCore::RenderThemeChromiumWin::paintProgressBar):
22082        * storage/chromium/IDBFactoryBackendInterface.cpp:
22083        (WebCore::IDBFactoryBackendInterface::create):
22084        (WebCore::IDBFactoryBackendInterface::~IDBFactoryBackendInterface):
22085        * storage/chromium/IDBKeyPathBackendImpl.cpp:
22086        (WebCore::IDBKeyPathBackendImpl::createIDBKeysFromSerializedValuesAndKeyPath):
22087
220882011-01-19  Helder Correia  <helder@sencha.com>
22089
22090        Reviewed by Andreas Kling.
22091
22092        [Qt] GraphicsContext::strokePath() paints solid shadows with incorrect alpha
22093        https://bugs.webkit.org/show_bug.cgi?id=52705
22094
22095        This is related to bug 52611. The shadow color alpha must be multiplied
22096        by the context pen alpha. Fixing this results in correct behavior for
22097        Canvas path stroke() and strokeRect() [which relies on stroke()].
22098
22099        Tests: fast/canvas/canvas-strokePath-alpha-shadow.html
22100               fast/canvas/canvas-strokeRect-alpha-shadow.html
22101
22102        * platform/graphics/qt/GraphicsContextQt.cpp:
22103        (WebCore::GraphicsContext::strokePath):
22104
221052011-01-19  Darin Fisher  <darin@chromium.org>
22106
22107        Reviewed by Mihai Parparita.
22108
22109        Re-initialize the HistoryItem fully when navigating to a HistoryItem,
22110        or replacing a HistoryItem, results in a different URL.
22111
22112        https://bugs.webkit.org/show_bug.cgi?id=49654
22113
22114        This patch also forces all HistoryItems to record the post-redirect
22115        URL.  Previously, frames would remember the pre-redirect URL.  This is
22116        problematic since other members of the HistoryItem correspond to the
22117        post-redirect URL.
22118
22119        Tests: fast/history/history-replace-updates-current-item.html
22120               http/tests/navigation/redirect-on-back-updates-history-item.html
22121               http/tests/navigation/redirect-on-reload-updates-history-item.html
22122
22123        * history/HistoryItem.cpp:
22124        (WebCore::HistoryItem::HistoryItem):
22125        (WebCore::HistoryItem::reset):
22126        * history/HistoryItem.h:
22127        * loader/HistoryController.cpp:
22128        (WebCore::HistoryController::updateForBackForwardNavigation):
22129        (WebCore::HistoryController::updateForReload):
22130        (WebCore::HistoryController::updateForStandardLoad):
22131        (WebCore::HistoryController::updateForRedirectWithLockedBackForwardList):
22132        (WebCore::HistoryController::initializeItem):
22133        (WebCore::HistoryController::createItem):
22134        (WebCore::HistoryController::createItemTree):
22135        (WebCore::HistoryController::updateCurrentItem):
22136        * loader/HistoryController.h:
22137
221382011-01-19  Adam Klein  <adamk@chromium.org>
22139
22140        Reviewed by Darin Fisher.
22141
22142        [chromium] Rename ChromiumBridge to PlatformBridge
22143        https://bugs.webkit.org/show_bug.cgi?id=52471
22144
22145        No tests added as this is a rename; no change in behavior.
22146
22147        * WebCore.gypi:
22148        * bindings/v8/V8DOMWindowShell.cpp:
22149        (WebCore::reportFatalErrorInV8):
22150        * page/PageGroup.cpp:
22151        (WebCore::PageGroup::isLinkVisited):
22152        * platform/android/PlatformBridge.h:
22153        * platform/audio/chromium/AudioBusChromium.cpp:
22154        (WebCore::createBusFromInMemoryAudioFile):
22155        * platform/chromium/ChromiumBridge.h: Removed.
22156        * platform/chromium/ChromiumDataObjectLegacy.cpp:
22157        (WebCore::ChromiumDataObjectLegacy::getData):
22158        * platform/chromium/DragDataChromium.cpp:
22159        (WebCore::DragData::asURL):
22160        * platform/chromium/FileSystemChromium.cpp:
22161        (WebCore::deleteFile):
22162        (WebCore::deleteEmptyDirectory):
22163        (WebCore::getFileSize):
22164        (WebCore::getFileModificationTime):
22165        (WebCore::revealFolderInOS):
22166        (WebCore::directoryName):
22167        (WebCore::pathByAppendingComponent):
22168        (WebCore::makeAllDirectories):
22169        (WebCore::fileExists):
22170        (WebCore::openFile):
22171        (WebCore::closeFile):
22172        (WebCore::seekFile):
22173        (WebCore::truncateFile):
22174        (WebCore::readFromFile):
22175        (WebCore::writeToFile):
22176        * platform/chromium/LanguageChromium.cpp:
22177        (WebCore::platformDefaultLanguage):
22178        * platform/chromium/LinkHashChromium.cpp:
22179        (WebCore::visitedLinkHash):
22180        * platform/chromium/MIMETypeRegistryChromium.cpp:
22181        (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
22182        (WebCore::MIMETypeRegistry::getPreferredExtensionForMIMEType):
22183        (WebCore::MIMETypeRegistry::isSupportedImageMIMEType):
22184        (WebCore::MIMETypeRegistry::isSupportedJavaScriptMIMEType):
22185        (WebCore::MIMETypeRegistry::isSupportedNonImageMIMEType):
22186        * platform/chromium/PasteboardChromium.cpp:
22187        (WebCore::Pasteboard::writeSelection):
22188        (WebCore::Pasteboard::writePlainText):
22189        (WebCore::Pasteboard::writeURL):
22190        (WebCore::Pasteboard::writeImage):
22191        (WebCore::Pasteboard::canSmartReplace):
22192        (WebCore::Pasteboard::plainText):
22193        (WebCore::Pasteboard::documentFragment):
22194        * platform/chromium/PlatformBridge.h:
22195        * platform/chromium/PlatformScreenChromium.cpp:
22196        (WebCore::screenDepth):
22197        (WebCore::screenDepthPerComponent):
22198        (WebCore::screenIsMonochrome):
22199        (WebCore::screenRect):
22200        (WebCore::screenAvailableRect):
22201        * platform/chromium/ReadableDataObject.cpp:
22202        (WebCore::ReadableDataObject::getData):
22203        (WebCore::ReadableDataObject::urlTitle):
22204        (WebCore::ReadableDataObject::htmlBaseUrl):
22205        (WebCore::ReadableDataObject::filenames):
22206        (WebCore::ReadableDataObject::ensureTypeCacheInitialized):
22207        * platform/chromium/SSLKeyGeneratorChromium.cpp:
22208        (WebCore::signedPublicKeyAndChallengeString):
22209        * platform/chromium/ScrollbarThemeChromium.cpp:
22210        * platform/chromium/ScrollbarThemeChromiumLinux.cpp:
22211        (WebCore::ScrollbarThemeChromiumLinux::scrollbarThickness):
22212        (WebCore::ScrollbarThemeChromiumLinux::paintTrackPiece):
22213        (WebCore::ScrollbarThemeChromiumLinux::paintButton):
22214        (WebCore::ScrollbarThemeChromiumLinux::paintThumb):
22215        (WebCore::ScrollbarThemeChromiumLinux::buttonSize):
22216        (WebCore::ScrollbarThemeChromiumLinux::minimumThumbLength):
22217        * platform/chromium/ScrollbarThemeChromiumMac.mm:
22218        (WebCore::scrollbarStateToThemeState):
22219        (WebCore::ScrollbarThemeChromiumMac::paint):
22220        * platform/chromium/ScrollbarThemeChromiumWin.cpp:
22221        (WebCore::ScrollbarThemeChromiumWin::scrollbarThickness):
22222        (WebCore::ScrollbarThemeChromiumWin::paintTrackPiece):
22223        (WebCore::ScrollbarThemeChromiumWin::paintButton):
22224        (WebCore::ScrollbarThemeChromiumWin::paintThumb):
22225        (WebCore::ScrollbarThemeChromiumWin::buttonSize):
22226        * platform/chromium/SharedTimerChromium.cpp:
22227        (WebCore::setSharedTimerFiredFunction):
22228        (WebCore::setSharedTimerFireTime):
22229        (WebCore::stopSharedTimer):
22230        * platform/chromium/SuddenTerminationChromium.cpp:
22231        (WebCore::disableSuddenTermination):
22232        (WebCore::enableSuddenTermination):
22233        * platform/chromium/SystemTimeChromium.cpp:
22234        (WebCore::currentTime):
22235        * platform/chromium/WritableDataObject.cpp:
22236        (WebCore::WritableDataObject::setData):
22237        * platform/graphics/chromium/CrossProcessFontLoading.mm:
22238        * platform/graphics/chromium/FontCacheChromiumWin.cpp:
22239        (WebCore::fontContainsCharacter):
22240        (WebCore::FillLogFont):
22241        * platform/graphics/chromium/FontCacheLinux.cpp:
22242        (WebCore::FontCache::getFontDataForCharacters):
22243        * platform/graphics/chromium/FontChromiumWin.cpp:
22244        (WebCore::Font::drawGlyphs):
22245        * platform/graphics/chromium/FontPlatformDataChromiumWin.cpp:
22246        (WebCore::FontPlatformData::scriptFontProperties):
22247        * platform/graphics/chromium/FontPlatformDataLinux.cpp:
22248        (WebCore::FontPlatformData::querySystemForRenderStyle):
22249        * platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp:
22250        (WebCore::fillBMPGlyphs):
22251        * platform/graphics/chromium/ImageChromium.cpp:
22252        (WebCore::Image::loadPlatformResource):
22253        * platform/graphics/chromium/ImageChromiumMac.mm:
22254        (WebCore::Image::loadPlatformResource):
22255        * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:
22256        (WebCore::SimpleFontData::platformInit):
22257        (WebCore::SimpleFontData::determinePitch):
22258        (WebCore::SimpleFontData::platformWidthForGlyph):
22259        * platform/graphics/chromium/UniscribeHelperTextRun.cpp:
22260        (WebCore::UniscribeHelperTextRun::tryToPreloadFont):
22261        * platform/graphics/skia/FontCustomPlatformData.cpp:
22262        (WebCore::FontCustomPlatformData::fontPlatformData):
22263        * platform/network/chromium/CookieJarChromium.cpp:
22264        (WebCore::setCookies):
22265        (WebCore::cookies):
22266        (WebCore::cookieRequestHeaderFieldValue):
22267        (WebCore::cookiesEnabled):
22268        (WebCore::getRawCookies):
22269        (WebCore::deleteCookie):
22270        * platform/network/chromium/DNSChromium.cpp:
22271        (WebCore::prefetchDNS):
22272        * platform/qt/PlatformBridge.h:
22273        * platform/sql/chromium/SQLiteFileSystemChromium.cpp:
22274        (WebCore::SQLiteFileSystem::deleteDatabaseFile):
22275        (WebCore::SQLiteFileSystem::getDatabaseFileSize):
22276        * platform/sql/chromium/SQLiteFileSystemChromiumPosix.cpp:
22277        (chromiumOpen):
22278        (chromiumDelete):
22279        (chromiumAccess):
22280        * platform/sql/chromium/SQLiteFileSystemChromiumWin.cpp:
22281        * plugins/chromium/PluginDataChromium.cpp:
22282        (WebCore::PluginCache::plugins):
22283        * rendering/RenderThemeChromiumMac.mm:
22284        (WebCore::RenderThemeChromiumMac::usesTestModeFocusRingColor):
22285        * rendering/RenderThemeChromiumSkia.cpp:
22286        (WebCore::RenderThemeChromiumSkia::caretBlinkInterval):
22287        * rendering/RenderThemeChromiumWin.cpp:
22288        (WebCore::RenderThemeChromiumWin::platformActiveSelectionBackgroundColor):
22289        (WebCore::RenderThemeChromiumWin::platformInactiveSelectionBackgroundColor):
22290        (WebCore::RenderThemeChromiumWin::platformActiveSelectionForegroundColor):
22291        (WebCore::RenderThemeChromiumWin::systemColor):
22292        (WebCore::RenderThemeChromiumWin::paintButton):
22293        (WebCore::RenderThemeChromiumWin::paintSliderTrack):
22294        (WebCore::menuListButtonWidth):
22295        (WebCore::RenderThemeChromiumWin::paintMenuList):
22296        (WebCore::RenderThemeChromiumWin::paintTextFieldInternal):
22297        (WebCore::RenderThemeChromiumWin::paintInnerSpinButton):
22298        (WebCore::RenderThemeChromiumWin::paintProgressBar):
22299        * storage/chromium/IDBFactoryBackendInterface.cpp:
22300        (WebCore::IDBFactoryBackendInterface::create):
22301        (WebCore::IDBFactoryBackendInterface::~IDBFactoryBackendInterface):
22302        * storage/chromium/IDBKeyPathBackendImpl.cpp:
22303        (WebCore::IDBKeyPathBackendImpl::createIDBKeysFromSerializedValuesAndKeyPath):
22304
223052011-01-19  Sheriff Bot  <webkit.review.bot@gmail.com>
22306
22307        Unreviewed, rolling out r76187.
22308        http://trac.webkit.org/changeset/76187
22309        https://bugs.webkit.org/show_bug.cgi?id=52778
22310
22311        Broke caret-showing tests on SnowLeopard and Chromium
22312        (Requested by dimich on #webkit).
22313
22314        * rendering/RenderText.cpp:
22315        (WebCore::RenderText::localCaretRect):
22316
223172011-01-19  Yuzo Fujishima  <yuzo@google.com>
22318
22319        Reviewed by Kent Tamura.
22320
22321        Fix for Bug 52279 - WebCore::RenderBlock::updateFirstLetter crashes for anonymous blocks
22322        https://bugs.webkit.org/show_bug.cgi?id=52279
22323
22324        In constructing text fragments to handle first-letter rule, first add
22325        the text for the non-first letters and then remove the original text,
22326        rather than the other way around. Otherwise, the text can be added to
22327        an anoymous block that is different from the original one. This breaks
22328        the assumption that a first letter render object has a non-null sibling
22329        for the non-first letters and causes a crash.
22330
22331        Test: fast/css/first-letter-anonymous-block-crash.html
22332
22333        * rendering/RenderBlock.cpp:
22334        (WebCore::RenderBlock::updateFirstLetter):
22335
223362011-01-19  James Robinson  <jamesr@chromium.org>
22337
22338        Unreviewed, rolling out r76194.
22339        http://trac.webkit.org/changeset/76194
22340        https://bugs.webkit.org/show_bug.cgi?id=51218
22341
22342        Caused mysterious compile failure on the chromium win
22343        build.webkit.org bots
22344
22345        * WebCore.gypi:
22346        * dom/Document.cpp:
22347        (WebCore::Document::Document):
22348        * dom/Document.h:
22349        * dom/RequestAnimationFrameCallback.h: Removed.
22350        * dom/RequestAnimationFrameCallback.idl: Removed.
22351        * loader/EmptyClients.h:
22352        * page/Chrome.cpp:
22353        * page/Chrome.h:
22354        * page/ChromeClient.h:
22355        * page/DOMWindow.cpp:
22356        * page/DOMWindow.h:
22357        * page/DOMWindow.idl:
22358        * page/FrameView.cpp:
22359        * page/FrameView.h:
22360        * platform/HostWindow.h:
22361
223622011-01-19  Simon Fraser  <simon.fraser@apple.com>
22363
22364        Reviewed by Sam Weinig.
22365
22366        GraphicsLayers in subframes can get sync'd multiple times
22367        https://bugs.webkit.org/show_bug.cgi?id=52489
22368
22369        Some cleanup that will work towards fixing this bug.
22370        
22371        Tested by existing iframe compositing tests.
22372
22373        * WebCore.exp.in: syncCompositingStateRecursive()
22374        was renamed to syncCompositingStateIncludingSubframes().
22375
22376        * page/FrameView.h:
22377        * page/FrameView.cpp:
22378        (WebCore::FrameView::syncCompositingStateForThisFrame): Some
22379        code cleanup: do all the word we need to do for this frame,
22380        including the needsLayout() check.
22381        (WebCore::FrameView::syncCompositingStateIncludingSubframes):
22382        This is no longer recursive; instead, it iterates over descendant
22383        frames via the frame tree, calling syncCompositingStateForThisFrame()
22384        on each Frame's view.
22385
22386        * rendering/RenderLayerCompositor.h:
22387        (WebCore::RenderLayerCompositor::isFlushingLayers): Getter for the flag.
22388        * rendering/RenderLayerCompositor.cpp: 
22389        (WebCore::RenderLayerCompositor::RenderLayerCompositor):
22390        (WebCore::RenderLayerCompositor::flushPendingLayerChanges): Maintain
22391        a flag to say if we're flushing, which allows us to assert on re-entrant flushes.
22392        (WebCore::RenderLayerCompositor::enclosingCompositorFlushingLayers):
22393        Add the ability to get the rootmost compositor that is in the middle
22394        of a flush.
22395
223962011-01-19  James Robinson  <jamesr@chromium.org>
22397
22398        Reviewed by Darin Fisher.
22399
22400        Implement mozilla's requestAnimationFrame API
22401        https://bugs.webkit.org/show_bug.cgi?id=51218
22402
22403        This implements mozilla's proposed requestAnimationFrame API.  The idea with this API is that
22404        an author driving an animation from script could use window.requestAnimationFrame(callback)
22405        instead of window.setTimeout(callback, 0) to schedule their update logic and let the browser
22406        decide when to update the animations.  This avoids doing unnecessary work when the page content
22407        is offscreen or is being displayed at a different framerate than what the page author expects.
22408
22409        Mozilla's proposal is here: https://developer.mozilla.org/en/DOM/window.mozRequestAnimationFrame
22410        This implements window.mozRequestAnimationFrame as window.webkitRequestAnimationFrame with the
22411        following changes:
22412        *) Only the callback syntax is supported, there is no before paint event
22413        *) webkitRequestAnimationFrame supports a second parameter Element to let the author indicate
22414            what content they intend to animate.  That way if the page is being displayed but the element
22415            in question is offscreen, we can avoid invoking the callback.
22416        *) No timestamp is provided to the caller and there is no window.animationStartTime property
22417            (see https://bugs.webkit.org/show_bug.cgi?id=51952 for discussion of this property)
22418        *) window.webkitRequestAnimationFrame returns a numerical id that can be used to cancel the callback
22419            using window.cancelWebkitRequestAnimationFrame, to parallel window.setTimeout()/window.clearTime().
22420
22421        The implementation depends on the embedder scheduling the callbacks since the callback invocation
22422        depends on the page's visibility and the embedder's paint scheduling, neither of which are exposed
22423        to WebCore.  The expectation for the embedder is that at some point Chrome::scheduleAnimation() is
22424        called FrameView::serviceScriptedAnimations() should be called for the associated Page's main frame.
22425        Ideally serviceScriptedAnimations() would be called prior to rendering - although in practice the
22426        embedder has to rate limit callbacks and may not be able to tie the callback directly to the
22427        rendering loop.
22428
22429        Tests: fast/animation/request-animation-frame-cancel.html
22430               fast/animation/request-animation-frame-cancel2.html
22431               fast/animation/request-animation-frame-display.html
22432               fast/animation/request-animation-frame-within-callback.html
22433               fast/animation/request-animation-frame.html
22434
22435        * WebCore.gypi:
22436        * dom/Document.cpp:
22437        (WebCore::Document::Document):
22438        (WebCore::Document::webkitRequestAnimationFrame):
22439        (WebCore::Document::webkitCancelRequestAnimationFrame):
22440        (WebCore::Document::serviceScriptedAnimations):
22441        * dom/Document.h:
22442        * dom/RequestAnimationFrameCallback.h: Added.
22443        (WebCore::RequestAnimationFrameCallback::~RequestAnimationFrameCallback):
22444        * dom/RequestAnimationFrameCallback.idl: Added.
22445        * loader/EmptyClients.h:
22446        (WebCore::EmptyChromeClient::scheduleAnimation):
22447        * page/Chrome.cpp:
22448        (WebCore::Chrome::scheduleAnimation):
22449        * page/Chrome.h:
22450        * page/ChromeClient.h:
22451        * page/DOMWindow.cpp:
22452        (WebCore::DOMWindow::webkitRequestAnimationFrame):
22453        (WebCore::DOMWindow::webkitCancelRequestAnimationFrame):
22454        * page/DOMWindow.h:
22455        * page/DOMWindow.idl:
22456        * page/FrameView.cpp:
22457        (WebCore::FrameView::scheduleAnimation):
22458        (WebCore::FrameView::serviceScriptedAnimations):
22459        * page/FrameView.h:
22460        * platform/HostWindow.h:
22461
224622011-01-13  Martin Robinson  <mrobinson@igalia.com>
22463
22464        Reviewed by Daniel Bates.
22465
22466        [GTK] Move progress bar painting out of gtk2drawing.c
22467        https://bugs.webkit.org/show_bug.cgi?id=52385
22468
22469        Move progress bar painting to RenderThemeGtk2 and share some animation
22470        logic between the GTK+ 2.x and GTK+ 3.x port.
22471
22472        No new tests. This should not change functionality.
22473
22474        * platform/gtk/RenderThemeGtk.cpp:
22475        (WebCore::RenderThemeGtk::animationRepeatIntervalForProgressBar): Moved from RenderThemeGtk3.
22476        (WebCore::RenderThemeGtk::animationDurationForProgressBar): Ditto.
22477        (WebCore::RenderThemeGtk::calculateProgressRect): Calculate the proper rectangle for the
22478        progress indicator given the rect for the maximum size of the indicator.
22479        * platform/gtk/RenderThemeGtk.h: Added calculateProgressRect declaration and
22480        a new widget member for GTK+ 2.x
22481        * platform/gtk/RenderThemeGtk2.cpp:
22482        (WebCore::RenderThemeGtk::platformInit): Added initialization for the new widget member.
22483        (WebCore::RenderThemeGtk::paintProgressBar): Paint the progress bar manually instead of
22484        calling the old Mozilla code.
22485        (WebCore::RenderThemeGtk::gtkProgressBar): Added.
22486        * platform/gtk/RenderThemeGtk3.cpp:
22487        (WebCore::RenderThemeGtk::paintProgressBar): Call calculateProgressRect now to get
22488        the area of the progress indicator.
22489        * platform/gtk/gtk2drawing.c: Remove unused code.
22490        (moz_gtk_get_widget_border):
22491        (moz_gtk_widget_paint):
22492        * platform/gtk/gtkdrawing.h: Ditto.
22493
224942011-01-19  Dmitry Titov  <dimich@chromium.org>
22495
22496        [Chromium] Not reviewed, reverts the following changes:
22497        http://trac.webkit.org/changeset/76164 (build fix)
22498        http://trac.webkit.org/changeset/76159 (main change)
22499
22500        The change broke Chromium Linux-shlib build.
22501
22502        Original issue:
22503        Accelerated canvas2D has bad clipping performance.
22504        https://bugs.webkit.org/show_bug.cgi?id=52627
22505
22506        * WebCore.gyp/WebCore.gyp:
22507        * WebCore.gypi:
22508        * html/canvas/CanvasRenderingContext2D.cpp:
22509        (WebCore::CanvasRenderingContext2D::reset):
22510        (WebCore::CanvasRenderingContext2D::platformLayer):
22511        * platform/graphics/chromium/DrawingBufferChromium.cpp:
22512        (WebCore::DrawingBuffer::DrawingBuffer):
22513        * platform/graphics/chromium/GLES2Canvas.cpp:
22514        (WebCore::GLES2Canvas::State::State):
22515        (WebCore::GLES2Canvas::clearRect):
22516        (WebCore::GLES2Canvas::fillRect):
22517        (WebCore::GLES2Canvas::restore):
22518        (WebCore::GLES2Canvas::drawTexturedRect):
22519        * platform/graphics/chromium/GLES2Canvas.h:
22520        * platform/graphics/gpu/DrawingBuffer.cpp:
22521        (WebCore::DrawingBuffer::clear):
22522        (WebCore::DrawingBuffer::createSecondaryBuffers):
22523        (WebCore::DrawingBuffer::reset):
22524        * platform/graphics/gpu/DrawingBuffer.h:
22525        * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
22526        (WebCore::SharedGraphicsContext3D::create):
22527        * platform/graphics/gpu/SharedGraphicsContext3D.h:
22528        * platform/graphics/gpu/mac/DrawingBufferMac.mm:
22529        (WebCore::DrawingBuffer::DrawingBuffer):
22530        * platform/graphics/skia/GraphicsContextSkia.cpp:
22531        (WebCore::GraphicsContext::canvasClip):
22532        (WebCore::GraphicsContext::clipOut):
22533        (WebCore::GraphicsContext::clipPath):
22534        (WebCore::GraphicsContext::fillPath):
22535        * platform/graphics/skia/PlatformContextSkia.cpp:
22536        (WebCore::PlatformContextSkia::canAccelerate):
22537        (WebCore::PlatformContextSkia::uploadSoftwareToHardware):
22538        * thirdparty/glu/README.webkit:
22539        * thirdparty/glu/gluos.h:
22540        * thirdparty/glu/libtess/geom.c:
22541        * thirdparty/glu/libtess/priorityq.c:
22542        * thirdparty/glu/libtess/render.c:
22543        * thirdparty/glu/libtess/sweep.c:
22544        (IsWindingInside):
22545        (DoneEdgeDict):
22546
225472011-01-19  Levi Weintraub  <leviw@google.com>
22548
22549        Reviewed by Darin Adler.
22550
22551        Re-committing this with the proper expected results.
22552
22553        Changing RenderText::localCaretRect to clip to its containing block's logicalLeft and
22554        logicalRightLayoutOverflow instead of simply using logicalLeft and logicalRight, as this
22555        resulted in the caret being placed incorrectly in overflowing editable IFrame content.
22556
22557        Long lines in non-white-space-pre editable documents show cursor in wrong place
22558        https://bugs.webkit.org/show_bug.cgi?id=48132
22559
22560        Test: editing/selection/caret-painting-in-overflowing-autowrap-content.html
22561
22562        * rendering/RenderText.cpp:
22563        (WebCore::RenderText::localCaretRect):
22564
225652011-01-18 MORITA Hajime <morrita@google.com>
22566
22567        Reviewed by David Levin.
22568
22569        ElementRareData::m_shadowRoot should not be RefPtr.
22570        https://bugs.webkit.org/show_bug.cgi?id=51914
22571
22572        Makes ElementRareData::m_shadowRoot a raw pointer because
22573        ElementRareData::m_shadowRoot should be like a
22574        ContaineNode::m_firstChild, which is also a raw pointer.
22575        pointer. Which also means that both the shadow root and the shadow
22576        host reference each other as a parent-and-child relationship, via
22577        a raw pointer.
22578        
22579        Note that it is safe not to manipulate the ref-count of
22580        m_shadowRoot because Node::m_parent of the shadow root points its
22581        shadow host, and the object isn't deleted even if the refcount is
22582        zero, as long as the node has non-null m_parent. (See TreeShared.)
22583        
22584        The shadow root node is finally destroyed inside
22585        removeShadowRoot(), where we store the root node into a local
22586        RefPtr, then make the node's m_parent null, which results the
22587        destroy the node, at the end of the function, by RefPtr::~RefPtr.
22588        
22589        No new tests. No behavioral change.
22590
22591        * dom/Element.cpp:
22592        (WebCore::Element::~Element):
22593        (WebCore::Element::shadowRoot):
22594        (WebCore::Element::setShadowRoot):
22595        (WebCore::Element::removeShadowRoot):
22596        * dom/ElementRareData.h:
22597        (WebCore::ElementRareData::ElementRareData):
22598        (WebCore::ElementRareData::~ElementRareData):
22599
226002011-01-12  Martin Robinson  <mrobinson@igalia.com>
22601
22602        Reviewed by Gustavo Noronha Silva.
22603
22604        [GTK] Move text field painting out of gtk2drawing.c
22605        https://bugs.webkit.org/show_bug.cgi?id=52327
22606
22607        No new tests. This should not change behavior.
22608
22609        * platform/gtk/RenderThemeGtk2.cpp:
22610        (WebCore::RenderThemeGtk::paintButton): Use the setWidgetHasFocus helper.
22611        (WebCore::RenderThemeGtk::paintTextField): Do this manually now instead
22612        of calling into the Mozilla code.
22613        * platform/gtk/WidgetRenderingContext.cpp: Added a couple more wrappers
22614        for GTK+ theme functions.
22615        (WebCore::WidgetRenderingContext::gtkPaintFlatBox):
22616        (WebCore::WidgetRenderingContext::gtkPaintShadow):
22617        * platform/gtk/WidgetRenderingContext.h: Added new method declarations.
22618        * platform/gtk/gtk2drawing.c: Remove unused code.
22619        (moz_gtk_get_widget_border):
22620        (moz_gtk_widget_paint):
22621        * platform/gtk/gtkdrawing.h:
22622
226232011-01-19  Antti Koivisto  <antti@apple.com>
22624
22625        Reviewed by Oliver Hunt.
22626
22627        Cache function offsets to speed up javascript parsing
22628        https://bugs.webkit.org/show_bug.cgi?id=52622
22629        
22630        Use cache to save function offsets and some other info.
22631        This avoids quite a bit of work when reparsing the source.
22632
22633        * bindings/js/CachedScriptSourceProvider.h:
22634        (WebCore::CachedScriptSourceProvider::cache):
22635        (WebCore::CachedScriptSourceProvider::cacheSizeChanged):
22636        (WebCore::CachedScriptSourceProvider::CachedScriptSourceProvider):
22637        * bindings/js/ScriptSourceProvider.h:
22638        (WebCore::ScriptSourceProvider::ScriptSourceProvider):
22639        * loader/cache/CachedScript.cpp:
22640        (WebCore::CachedScript::destroyDecodedData):
22641        (WebCore::CachedScript::sourceProviderCache):
22642        (WebCore::CachedScript::sourceProviderCacheSizeChanged):
22643        * loader/cache/CachedScript.h:
22644
226452011-01-11  Martin Robinson  <mrobinson@igalia.com>
22646
22647        Reviewed by Gustavo Noronha Silva.
22648
22649        [GTK] Move toggle button rendering out of gtk2drawing.c
22650        https://bugs.webkit.org/show_bug.cgi?id=52258
22651
22652        * platform/gtk/RenderThemeGtk.h:
22653        * platform/gtk/RenderThemeGtk2.cpp:
22654        (WebCore::RenderThemeGtk::platformInit): Initialize new button members.
22655        (WebCore::adjustRectForFocus): Added this function which inflates a rect based
22656        on a widget's exterior focus.
22657        (WebCore::RenderThemeGtk::adjustRepaintRect): Account for exterior focus.
22658        (WebCore::setToggleSize): Only listen to indicator-size to properly size
22659        checkboxes and radio buttons.
22660        (WebCore::RenderThemeGtk::setCheckboxSize): Call new setToggleSize properly.
22661        (WebCore::paintToggle): Added.
22662        (WebCore::RenderThemeGtk::paintCheckbox): Call paintToggle.
22663        (WebCore::RenderThemeGtk::setRadioSize): Call new setToggleSize properly.
22664        (WebCore::RenderThemeGtk::paintRadio): Call paintToggle.
22665        (WebCore::RenderThemeGtk::gtkRadioButton): Added.
22666        (WebCore::RenderThemeGtk::gtkCheckButton): Added.
22667        * platform/gtk/WidgetRenderingContext.cpp:
22668        (WebCore::WidgetRenderingContext::WidgetRenderingContext): Use a static extra space
22669        variable. This is good enough for all themes that I've tested and prevents having to
22670        pass information from RenderThemeGtk about every single type of widget.
22671        (WebCore::WidgetRenderingContext::gtkPaintFocus): Use the paintRect
22672        to draw instead of m_paintRect. This is important when we're painting
22673        something that isn't the size of the total rect.
22674        (WebCore::WidgetRenderingContext::gtkPaintCheck): Added.
22675        (WebCore::WidgetRenderingContext::gtkPaintOption): Added.
22676        * platform/gtk/WidgetRenderingContext.h: Updated to reflect new methods.
22677        * platform/gtk/gtkdrawing.h: Remove newly unused code.
22678        * platform/gtk/gtk2drawing.c: Ditto.
22679
226802011-01-19  Tony Gentilcore  <tonyg@chromium.org>
22681
22682        Unreviewed build fix.
22683
22684        Build fix for r76170
22685        https://bugs.webkit.org/show_bug.cgi?id=52758
22686
22687        * platform/graphics/chromium/UniscribeHelperTextRun.cpp:
22688
226892011-01-19  David D. Kilzer  <ddkilzer@apple.com>
22690
22691        <http://webkit.org/b/52687> Clean up FrameLoader methods for PLUGIN_PROXY_FOR_VIDEO
22692
22693        Reviewed by Eric Carlson.
22694
22695        * loader/FrameLoader.cpp: Declare the methods here.
22696        (WebCore::FrameLoader::hideMediaPlayerProxyPlugin):
22697        (WebCore::FrameLoader::showMediaPlayerProxyPlugin):
22698        * loader/FrameLoader.cpp: Moved methods to here...
22699        (WebCore::FrameLoader::hideMediaPlayerProxyPlugin):
22700        (WebCore::FrameLoader::showMediaPlayerProxyPlugin):
22701        * loader/SubframeLoader.cpp: ...from here.
22702        (WebCore::FrameLoader::hideMediaPlayerProxyPlugin):
22703        (WebCore::FrameLoader::showMediaPlayerProxyPlugin):
22704
227052011-01-19  Tony Gentilcore  <tonyg@chromium.org>
22706
22707        Reviewed by Mihai Parparita.
22708
22709        Perform some forward declaration
22710        https://bugs.webkit.org/show_bug.cgi?id=52522
22711
22712        No new tests because no new functionality.
22713
22714        * accessibility/AccessibilityObject.h:
22715        * css/WebKitCSSMatrix.cpp:
22716        * html/HTMLAreaElement.cpp:
22717        * html/canvas/CanvasRenderingContext2D.cpp:
22718        * inspector/InspectorController.cpp:
22719        * platform/graphics/FloatPoint.cpp:
22720        * platform/graphics/Font.cpp:
22721        * platform/graphics/Font.h:
22722        * platform/graphics/FontFastPath.cpp:
22723        * platform/graphics/GraphicsContext.cpp:
22724        * platform/graphics/ImageBuffer.h:
22725        * platform/graphics/StringTruncator.cpp:
22726        * platform/graphics/WidthIterator.cpp:
22727        * platform/graphics/mac/ComplexTextController.cpp:
22728        * platform/graphics/mac/ComplexTextControllerCoreText.cpp:
22729        * platform/graphics/mac/FontComplexTextMac.cpp:
22730        * platform/graphics/transforms/TransformationMatrix.cpp:
22731        * platform/graphics/transforms/TransformationMatrix.h:
22732        * rendering/EllipsisBox.cpp:
22733        * rendering/InlineTextBox.cpp:
22734        * rendering/RenderBlock.cpp:
22735        * rendering/RenderBlockLineLayout.cpp:
22736        * rendering/RenderEmbeddedObject.cpp:
22737        * rendering/RenderFileUploadControl.cpp:
22738        * rendering/RenderFlexibleBox.cpp:
22739        * rendering/RenderImage.cpp:
22740        * rendering/RenderListBox.cpp:
22741        * rendering/RenderListMarker.cpp:
22742        * rendering/RenderMenuList.cpp:
22743        * rendering/RenderObject.h:
22744        * rendering/RenderText.cpp:
22745        * rendering/RenderTextControl.cpp:
22746        * rendering/svg/SVGInlineTextBox.cpp:
22747        * rendering/svg/SVGMarkerLayoutInfo.h:
22748        * rendering/svg/SVGTextMetrics.cpp:
22749        * svg/SVGFont.cpp:
22750
227512011-01-19  Adrienne Walker  <enne@google.com>
22752
22753        Reviewed by Kenneth Russell.
22754
22755        [chromium] Tiled compositor should use texture manager
22756        https://bugs.webkit.org/show_bug.cgi?id=52418
22757
22758        Test: compositing/
22759
22760        * platform/graphics/chromium/LayerRendererChromium.cpp:
22761        (WebCore::LayerRendererChromium::~LayerRendererChromium):
22762        (WebCore::LayerRendererChromium::cleanupSharedObjects):
22763        * platform/graphics/chromium/LayerTilerChromium.cpp:
22764        (WebCore::LayerTilerChromium::LayerTilerChromium):
22765        (WebCore::LayerTilerChromium::reset):
22766        (WebCore::LayerTilerChromium::createTile):
22767        (WebCore::LayerTilerChromium::update):
22768        (WebCore::LayerTilerChromium::draw):
22769        * platform/graphics/chromium/LayerTilerChromium.h:
22770        (WebCore::LayerTilerChromium::Tile::Tile):
22771        (WebCore::LayerTilerChromium::Tile::texture):
22772
227732011-01-19  Stephen White  <senorblanco@chromium.org>
22774
22775        Unreviewed; build fix for chromium.
22776
22777        * platform/graphics/chromium/GLES2Canvas.cpp:
22778        (WebCore::GLES2Canvas::fillPath):
22779
227802011-01-18  Stephen White  <senorblanco@chromium.org>
22781
22782        Reviewed by James Robinson.
22783
22784        Implement accelerated path drawing and clipping for the Canvas2D GPU
22785        path.
22786        https://bugs.webkit.org/show_bug.cgi?id=52627
22787        
22788        This is done with a simple curve interpolator and the GLU tesselator,
22789        which is good enough for a 3-5X speedup on
22790        http://ie.microsoft.com/testdrive/Performance/Galactic/Default.html.
22791
22792        Covered by canvas/philip/2d.path.clip.basic.html, and many, many more.
22793        All tests canvas/philip and fast/canvas paths pass with no
22794        regressions, although two have minor pixel differences which require
22795        rebaselining.
22796
22797        * WebCore.gyp/WebCore.gyp:
22798        Add internal_glu include path to chromium build.
22799        * WebCore.gypi:
22800        Add internal_glu files to chromium build.
22801        * html/canvas/CanvasRenderingContext2D.cpp:
22802        (WebCore::CanvasRenderingContext2D::reset):
22803        (WebCore::CanvasRenderingContext2D::platformLayer):
22804        Make CanvasRenderingContext2D more robust against failure to create
22805        a DrawingBuffer.
22806        * platform/graphics/chromium/DrawingBufferChromium.cpp:
22807        (WebCore::DrawingBuffer::DrawingBuffer):
22808        As in DrawingBufferMac.cpp, call reset() from the constructor.
22809        Also initialize size to (-1, -1), so reset() doesn't early-out.
22810        Add initializers for depthBuffer and stencilBuffer, and remove
22811        multisampleDepthStencilBuffer.
22812        * platform/graphics/chromium/GLES2Canvas.cpp:
22813        Remove some unused #includes.
22814        (WebCore::GLES2Canvas::State::State):
22815        Add clipping state, and implement save/restore via the copy constructor.
22816        (WebCore::operator*):
22817        (WebCore::Quadratic::Quadratic):
22818        (WebCore::Quadratic::fromBezier):
22819        (WebCore::Quadratic::evaluate):
22820        Quadratic Bezier curve class.
22821        (WebCore::Cubic::Cubic):
22822        (WebCore::Cubic::fromBezier):
22823        (WebCore::Cubic::evaluate):
22824        Cubic Bezier curve class.
22825        (WebCore::GLES2Canvas::clearRect):
22826        Add clipping support to clearRect().
22827        (WebCore::GLES2Canvas::fillPath):
22828        Implement fillPath().
22829        (WebCore::GLES2Canvas::fillRect):
22830        Add clipping support to fillRect().
22831        (WebCore::GLES2Canvas::clipPath):
22832        Implement clipPath().
22833        (WebCore::GLES2Canvas::clipOut):
22834        Stub out clipOut() (not called by Canvas 2D).
22835        (WebCore::GLES2Canvas::restore):
22836        When restoring, draw any remaining clipping paths to the stencil buffer.
22837        (WebCore::GLES2Canvas::drawTexturedRect):
22838        Add clipping support.
22839        (WebCore::interpolateQuadratic):
22840        (WebCore::interpolateCubic):
22841        Simple curve interpolation, using the Cubic and Quadratic classes.
22842        (WebCore::PolygonData::PolygonData):
22843        A struct to hold the tesselation data for callbacks.
22844        (WebCore::beginData):
22845        (WebCore::edgeFlagData):
22846        (WebCore::vertexData):
22847        (WebCore::endData):
22848        (WebCore::combineData):
22849        internal_glu tesselation callbacks.
22850        (WebCore::GLES2Canvas::createVertexBufferFromPath):
22851        Build an interpolated, tesselated vertex buffer and element array buffer from a given path, suitable for filling.
22852        (WebCore::GLES2Canvas::beginStencilDraw):
22853        Enable stencilling, and disable draws to the color buffer.
22854        (WebCore::GLES2Canvas::applyClipping):
22855        If clipping is enabled, set the appropriate GL state.
22856        * platform/graphics/chromium/GLES2Canvas.h:
22857        Document the flavours of drawTexturedRect() a bit, so I don't get confused.
22858        * platform/graphics/gpu/DrawingBuffer.cpp:
22859        (WebCore::DrawingBuffer::clear):
22860        (WebCore::DrawingBuffer::createSecondaryBuffers):
22861        (WebCore::DrawingBuffer::resizeDepthStencil):
22862        (WebCore::DrawingBuffer::reset):
22863        * platform/graphics/gpu/DrawingBuffer.h:
22864        Unify m_multisampleDepthStencilBuffer with m_depthStencilBuffer. 
22865        Implement separate depth and stencil buffers for when
22866        OES_packed_depth_stencil is not available.  Refactor creation of
22867        multisampled and non-multisampled depth and stencil buffers into
22868        resizeDepthStencil().
22869        * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
22870        (WebCore::SharedGraphicsContext3D::create):
22871        Turn on stencil, turn off depth, turn off antialiasing (for now).
22872        (WebCore::SharedGraphicsContext3D::enableStencil):
22873        * platform/graphics/gpu/SharedGraphicsContext3D.h:
22874        Implement stencil enable/disable.
22875        * platform/graphics/gpu/mac/DrawingBufferMac.mm:
22876        (WebCore::DrawingBuffer::DrawingBuffer):
22877        Remove m_multisampleDepthStencilBuffer.  Set the size to (-1, -1)
22878        on creation, so reset() doesn't early-out.  Initialize m_depthBuffer
22879        and m_stencilBuffer.
22880        * platform/graphics/skia/GraphicsContextSkia.cpp:
22881        (WebCore::GraphicsContext::canvasClip):
22882        (WebCore::GraphicsContext::clipOut):
22883        (WebCore::GraphicsContext::clipPath):
22884        (WebCore::GraphicsContext::fillPath):
22885        Put in GPU hooks for path clipping, and path drawing.
22886        * platform/graphics/skia/PlatformContextSkia.cpp:
22887        (WebCore::PlatformContextSkia::canAccelerate):
22888        Don't check for clipping paths in canAccelerate() (since we can
22889        now accelerate them).
22890        (WebCore::PlatformContextSkia::uploadSoftwareToHardware):
22891        Don't do clipping when uploading software draws to hardware.
22892        * thirdparty/glu/README.webkit:
22893        * thirdparty/glu/gluos.h:
22894        #undef MIN and MAX, to fix warnings-as-errors in Chrome/Mac build.
22895        * thirdparty/glu/libtess/geom.c:
22896        * thirdparty/glu/libtess/priorityq.c:
22897        * thirdparty/glu/libtess/render.c:
22898        Use do{}while(0) instead of if(1)else construct in macro.
22899        * thirdparty/glu/libtess/sweep.c:
22900        (IsWindingInside):
22901        (DoneEdgeDict):
22902        Fix some warnings treated as errors for the Linux Release build.
22903
229042011-01-19  Sheriff Bot  <webkit.review.bot@gmail.com>
22905
22906        Unreviewed, rolling out r76144.
22907        http://trac.webkit.org/changeset/76144
22908        https://bugs.webkit.org/show_bug.cgi?id=52737
22909
22910        Broke tests on multiple bots, mostly Chromium Canaries
22911        (Requested by dimich on #webkit).
22912
22913        * rendering/RenderText.cpp:
22914        (WebCore::RenderText::localCaretRect):
22915
229162011-01-19  Simon Fraser  <simon.fraser@apple.com>
22917
22918        Reviewed by Adam Roben.
22919
22920        [CSS Gradients] Crash due to out-of-memory with repeating-linear-gradient and latter stop positioned before former
22921        https://bugs.webkit.org/show_bug.cgi?id=52732
22922        
22923        When repeating gradient stops, make sure that the first and last stops are not at the same
22924        place, otherwise we'll add stops indefinitely and run out of memory.
22925
22926        Test: fast/gradients/zero-range-repeating-gradient-hang.html
22927
22928        * css/CSSGradientValue.cpp:
22929        (WebCore::CSSGradientValue::addStops):
22930
229312011-01-14  Dimitri Glazkov  <dglazkov@chromium.org>
22932
22933        Reviewed by Darin Adler.
22934
22935        Remove event forwarding logic from input[type=range], simplify event flow and thumb positioning logic.
22936        https://bugs.webkit.org/show_bug.cgi?id=52464
22937
22938        This change has two parts:
22939
22940        1) Utilize shadow DOM event retargeting to get rid of forwarding events
22941           via render tree;
22942        2) Move thumb positioning logic from RenderSlider to SliderThumbElement.
22943
22944        These two are highly co-dependent. It looked ugly when I tried to
22945        separate them.
22946
22947        No change in behavior, covered by existing tests.
22948
22949        * html/HTMLInputElement.cpp:
22950        (WebCore::HTMLInputElement::defaultEventHandler): Added invocation of
22951            InputType::handleMouseDownEvent.
22952        * html/InputType.cpp:
22953        (WebCore::InputType::handleMouseDownEvent): Added empty decl.
22954        * html/InputType.h: Added def.
22955        * html/RangeInputType.cpp:
22956        (WebCore::RangeInputType::handleMouseDownEvent): Added to handle the case
22957            when the user clicks on the track of the slider. Also removed the
22958            forwardEvent method.
22959        * html/RangeInputType.h: Added/removed defs.
22960        * html/shadow/SliderThumbElement.cpp:
22961        (WebCore::SliderThumbElement::dragFrom): Added a helper method to start
22962            dragging from any position.
22963        (WebCore::SliderThumbElement::dragTo): Added a helper method to drag to
22964            specified position.
22965        (WebCore::SliderThumbElement::setPosition): Collapsed most of the positioning
22966            logic in RenderSlider into this method, which is now a simple calculation
22967            and adjusting of thumb position based on supplied coordinates.
22968        (WebCore::SliderThumbElement::startDragging): Added.
22969        (WebCore::SliderThumbElement::stopDragging): Added.
22970        (WebCore::SliderThumbElement::defaultEventHandler): Removed most of the
22971            old position-sniffing logic and replaced with simple calls to start,
22972            stop, and drag the thumb.
22973        * html/shadow/SliderThumbElement.h: Added defs.
22974        * rendering/RenderSlider.cpp: Removed a bunch of code that is no longer
22975            necessary.
22976        * rendering/RenderSlider.h: Removed defs, removed now-unnecessary friendliness.
22977
229782011-01-19  Shane Stephens  <shanestephens@google.com>
22979
22980        Reviewed by Chris Marrin.
22981
22982        Make AffineTransform and TransformationMatrix do matrix multiplication in the correct order (Column Major)
22983        https://bugs.webkit.org/show_bug.cgi?id=48031
22984
22985        Fixed reversal, renamed matrix methods to be clearer, found all examples of operator* and
22986        operator*= usage and switched operand order.
22987
22988        No new tests as this refactor doesn't add functionality.
22989
22990        * html/HTMLCanvasElement.cpp:
22991        (WebCore::HTMLCanvasElement::baseTransform):
22992        * html/canvas/CanvasRenderingContext2D.cpp:
22993        (WebCore::CanvasRenderingContext2D::transform):
22994        (WebCore::CanvasRenderingContext2D::setTransform):
22995        * platform/graphics/cg/PatternCG.cpp:
22996        (WebCore::Pattern::createPlatformPattern):
22997        * platform/graphics/chromium/GLES2Canvas.cpp:
22998        (WebCore::GLES2Canvas::fillRect):
22999        (WebCore::GLES2Canvas::concatCTM):
23000        (WebCore::GLES2Canvas::drawQuad):
23001        * platform/graphics/chromium/TransparencyWin.cpp:
23002        (WebCore::TransparencyWin::setupLayerForOpaqueCompositeLayer):
23003        (WebCore::TransparencyWin::setupTransformForKeepTransform):
23004        * platform/graphics/transforms/AffineTransform.cpp:
23005        (WebCore::AffineTransform::multiply):
23006        (WebCore::AffineTransform::rotate):
23007        * platform/graphics/transforms/AffineTransform.h:
23008        (WebCore::AffineTransform::operator*=):
23009        (WebCore::AffineTransform::operator*):
23010        * platform/graphics/wince/GraphicsContextWinCE.cpp:
23011        (WebCore::GraphicsContextPlatformPrivate::concatCTM):
23012        * platform/graphics/wince/SharedBitmap.cpp:
23013        (WebCore::SharedBitmap::drawPattern):
23014        * rendering/svg/RenderSVGResourceContainer.cpp:
23015        (WebCore::RenderSVGResourceContainer::transformOnNonScalingStroke):
23016        * rendering/svg/RenderSVGResourceGradient.cpp:
23017        (WebCore::clipToTextMask):
23018        (WebCore::RenderSVGResourceGradient::applyResource):
23019        * rendering/svg/RenderSVGResourcePattern.cpp:
23020        (WebCore::RenderSVGResourcePattern::applyResource):
23021        * rendering/svg/RenderSVGRoot.cpp:
23022        (WebCore::RenderSVGRoot::localToBorderBoxTransform):
23023        * rendering/svg/SVGImageBufferTools.cpp:
23024        (WebCore::SVGImageBufferTools::calculateTransformationToOutermostSVGCoordinateSystem):
23025        (WebCore::SVGImageBufferTools::renderSubtreeToImageBuffer):
23026        * rendering/svg/SVGTextLayoutEngine.cpp:
23027        (WebCore::SVGTextLayoutEngine::finalizeTransformMatrices):
23028        * svg/SVGLocatable.cpp:
23029        (WebCore::SVGLocatable::computeCTM):
23030        (WebCore::SVGLocatable::getTransformToElement):
23031        * svg/SVGMatrix.h:
23032        (WebCore::SVGMatrix::multiply):
23033        * svg/SVGSVGElement.cpp:
23034        (WebCore::SVGSVGElement::localCoordinateSpaceTransform):
23035        (WebCore::SVGSVGElement::viewBoxToViewTransform):
23036        * svg/SVGStyledTransformableElement.cpp:
23037        (WebCore::SVGStyledTransformableElement::animatedLocalTransform):
23038        * svg/SVGTextElement.cpp:
23039        (WebCore::SVGTextElement::animatedLocalTransform):
23040        * svg/SVGTransformList.cpp:
23041        (WebCore::SVGTransformList::concatenate):
23042
230432011-01-19  Chang Shu  <chang.shu@nokia.com>
23044
23045        Reviewed by Darin Adler.
23046
23047        The return value of contentEditable() function should depend on the DOM attribute
23048        instead of render style userModify. The code change fixed test cases in the bug
23049        and partially fixed test cases in other contentEditable bugs;
23050
23051        https://bugs.webkit.org/show_bug.cgi?id=52056
23052
23053        * html/HTMLElement.cpp:
23054        (WebCore::HTMLElement::contentEditable):
23055
230562011-01-19  Levi Weintraub  <leviw@chromium.org>
23057
23058        Reviewed by Darin Adler.
23059
23060        Changing RenderText::localCaretRect to clip to its containing block's logicalLeft and
23061        logicalRightLayoutOverflow instead of simply using logicalLeft and logicalRight, as this
23062        resulted in the caret being placed incorrectly in overflowing editable IFrame content.
23063
23064        Long lines in non-white-space-pre editable documents show cursor in wrong place
23065        https://bugs.webkit.org/show_bug.cgi?id=48132
23066
23067        Test: editing/selection/caret-painting-in-overflowing-autowrap-content.html
23068
23069        * rendering/RenderText.cpp:
23070        (WebCore::RenderText::localCaretRect):
23071
230722011-01-19  Chris Marrin  <cmarrin@apple.com>
23073
23074        Reviewed by Simon Fraser.
23075
23076        WK2 - Multiple crashes in PlatformCALayer::replaceSublayer
23077        https://bugs.webkit.org/show_bug.cgi?id=52695
23078
23079        Added ASSERTs to the places we assume a non-null superlayer.
23080
23081        * platform/graphics/ca/GraphicsLayerCA.cpp:
23082        (WebCore::GraphicsLayerCA::ensureStructuralLayer):
23083        (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer):
23084
230852011-01-18  Beth Dakin  <bdakin@apple.com>
23086
23087        Reviewed by Maciej Stachowiak.
23088
23089        Fix for <rdar://problem/8882916> Overlay scrollers require 
23090        content to layout underneath the scrollbar area
23091
23092        The render tree should not include scrollbar size for
23093        overlay scrollers. This patch will allow scrollers on
23094        the WebView to behave like overflow:overlay.
23095
23096        Treat overlay scrollers the same way as the !includeScrollbars
23097        case.
23098        * platform/ScrollView.cpp:
23099        (WebCore::ScrollView::visibleContentRect):
23100
23101        No corner rect for overlay scrollers.
23102        (WebCore::ScrollView::scrollCornerRect):
23103
23104        usesOverlayScrollbars() currently always returns no.
23105        * platform/ScrollbarTheme.h:
23106        (WebCore::ScrollbarTheme::usesOverlayScrollbars):
23107        * platform/mac/ScrollbarThemeMac.h:
23108        * platform/mac/ScrollbarThemeMac.mm:
23109        (WebCore::ScrollbarThemeMac::usesOverlayScrollbars):
23110
23111        includeVerticalScrollbarSize() and includeHorizontalScrollbarSize()
23112        should return false for overlay scrollers. They already return
23113        false for overflow:overlay.
23114        * rendering/RenderBox.cpp:
23115        (WebCore::RenderBox::includeVerticalScrollbarSize):
23116        (WebCore::RenderBox::includeHorizontalScrollbarSize):
23117        * rendering/RenderBox.h:
23118
23119        In the render tree, always treat overlay scrollers like
23120        they have a width and height of 0.
23121        * rendering/RenderLayer.cpp:
23122        (WebCore::RenderLayer::verticalScrollbarWidth):
23123        (WebCore::RenderLayer::horizontalScrollbarHeight):
23124        * rendering/RenderListBox.cpp:
23125        (WebCore::RenderListBox::verticalScrollbarWidth):
23126
231272011-01-18  Evan Martin  <evan@chromium.org>
23128
23129        Reviewed by Tony Chang.
23130
23131        [chromium] simplify complex text code, fixing a handful of layout tests
23132        https://bugs.webkit.org/show_bug.cgi?id=52661
23133
23134        Change ComplexTextControllerLinux to lay out RTL text to the left from
23135        the starting point.  (Previously it always went to the right.)  This allows
23136        us to map pixel offsets more directly into offsets within the text runs,
23137        simplifying a few of the text-fiddling functions (they no longer need to
23138        track the current position, as ComplexTextController now does it).
23139
23140        * platform/graphics/chromium/ComplexTextControllerLinux.cpp:
23141        (WebCore::ComplexTextController::ComplexTextController):
23142        (WebCore::ComplexTextController::reset):
23143        (WebCore::ComplexTextController::setGlyphXPositions):
23144        * platform/graphics/chromium/ComplexTextControllerLinux.h:
23145        (WebCore::ComplexTextController::offsetX):
23146        * platform/graphics/chromium/FontLinux.cpp:
23147        (WebCore::Font::drawComplexText):
23148        (WebCore::Font::floatWidthForComplexText):
23149        (WebCore::glyphIndexForXPositionInScriptRun):
23150        (WebCore::Font::offsetForPositionForComplexText):
23151        (WebCore::Font::selectionRectForComplexText):
23152
231532011-01-19  Pavel Feldman  <pfeldman@chromium.org>
23154
23155        Reviewed by Yury Semikhatsky.
23156
23157        Web Inspector: move methods from InjectedScript domain into DOM,
23158        Runtime and Debugger domains. Introduce InspectorRuntimeAgent.
23159        https://bugs.webkit.org/show_bug.cgi?id=52717
23160
23161        * CMakeLists.txt:
23162        * GNUmakefile.am:
23163        * WebCore.gypi:
23164        * WebCore.pro:
23165        * WebCore.vcproj/WebCore.vcproj:
23166        * WebCore.xcodeproj/project.pbxproj:
23167        * inspector/CodeGeneratorInspector.pm:
23168        * inspector/InjectedScript.cpp:
23169        (WebCore::InjectedScript::evaluateOnCallFrame):
23170        (WebCore::InjectedScript::getCompletions):
23171        (WebCore::InjectedScript::getCompletionsOnCallFrame):
23172        * inspector/InjectedScript.h:
23173        * inspector/InjectedScriptHost.cpp:
23174        (WebCore::InjectedScriptHost::injectedScriptForMainWorld):
23175        * inspector/InjectedScriptHost.h:
23176        * inspector/InjectedScriptSource.js:
23177        (.):
23178        ():
23179        * inspector/Inspector.idl:
23180        * inspector/InspectorController.cpp:
23181        (WebCore::InspectorController::connectFrontend):
23182        (WebCore::InspectorController::releaseFrontendLifetimeAgents):
23183        * inspector/InspectorController.h:
23184        * inspector/InspectorDOMAgent.cpp:
23185        (WebCore::InspectorDOMAgent::InspectorDOMAgent):
23186        (WebCore::InspectorDOMAgent::resolveNode):
23187        (WebCore::InspectorDOMAgent::getNodeProperties):
23188        (WebCore::InspectorDOMAgent::getNodePrototypes):
23189        (WebCore::InspectorDOMAgent::injectedScriptForNodeId):
23190        * inspector/InspectorDOMAgent.h:
23191        (WebCore::EventListenerInfo::EventListenerInfo):
23192        (WebCore::InspectorDOMAgent::DOMListener::~DOMListener):
23193        (WebCore::InspectorDOMAgent::create):
23194        (WebCore::InspectorDOMAgent::cast):
23195        (WebCore::InspectorDOMAgent::documents):
23196        * inspector/InspectorDebuggerAgent.cpp:
23197        (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
23198        (WebCore::InspectorDebuggerAgent::getCompletionsOnCallFrame):
23199        (WebCore::InspectorDebuggerAgent::injectedScriptForCallFrameId):
23200        * inspector/InspectorDebuggerAgent.h:
23201        * inspector/InspectorRuntimeAgent.cpp: Added.
23202        (WebCore::InspectorRuntimeAgent::InspectorRuntimeAgent):
23203        (WebCore::InspectorRuntimeAgent::~InspectorRuntimeAgent):
23204        (WebCore::InspectorRuntimeAgent::evaluate):
23205        (WebCore::InspectorRuntimeAgent::getCompletions):
23206        (WebCore::InspectorRuntimeAgent::getProperties):
23207        (WebCore::InspectorRuntimeAgent::setPropertyValue):
23208        (WebCore::InspectorRuntimeAgent::pushNodeToFrontend):
23209        (WebCore::InspectorRuntimeAgent::injectedScriptForObjectId):
23210        * inspector/InspectorRuntimeAgent.h: Copied from Source/WebCore/inspector/InjectedScript.h.
23211        (WebCore::InspectorRuntimeAgent::create):
23212        * inspector/front-end/ConsoleView.js:
23213        (WebInspector.ConsoleView.prototype.completions):
23214        * inspector/front-end/ScriptsPanel.js:
23215        (WebInspector.ScriptsPanel.prototype.doEvalInCallFrame):
23216
232172011-01-18  Pavel Podivilov  <podivilov@chromium.org>
23218
23219        Reviewed by Yury Semikhatsky.
23220
23221        Web Inspector: add UglifyJS parser and formatter files
23222        https://bugs.webkit.org/show_bug.cgi?id=51702
23223
23224        * WebCore.gypi:
23225        * WebCore.vcproj/WebCore.vcproj:
23226        * inspector/front-end/ScriptFormatter.js:
23227        (WebInspector.ScriptFormatter.positionToLocation):
23228        (WebInspector.ScriptFormatter.prototype.format.messageHandler):
23229        (WebInspector.ScriptFormatter.prototype.format):
23230        (WebInspector.ScriptFormatter.prototype._buildMapping):
23231        (WebInspector.ScriptFormatter.prototype._convertPosition):
23232        * inspector/front-end/SourceFrame.js:
23233        (WebInspector.SourceFrame.prototype.formatSource.didFormat):
23234        (WebInspector.SourceFrame.prototype.formatSource):
23235        * inspector/front-end/WebKit.qrc:
23236        * inspector/front-end/parse-js.js: Added. UglifyJS parser.
23237        * inspector/front-end/process.js: Added. UglifyJS formatter.
23238        * inspector/front-end/scriptFormatterWorker.js: Added. Worker script that wraps UglifyJS code.
23239        (onmessage):
23240        (beautify):
23241        (loadModule):
23242        (require):
23243        * inspector/front-end/utilities.js:
23244        ():
23245
232462011-01-19  Pavel Podivilov  <podivilov@chromium.org>
23247
23248        Reviewed by Yury Semikhatsky.
23249
23250        Web Inspector: [JSC] scripts have incorrect starting line (always 1).
23251        https://bugs.webkit.org/show_bug.cgi?id=52721
23252
23253        Test: inspector/debugger-scripts.html
23254
23255        * bindings/js/ScriptDebugServer.cpp:
23256        (WebCore::ScriptDebugServer::dispatchDidParseSource):
23257        (WebCore::ScriptDebugServer::dispatchFailedToParseSource):
23258        (WebCore::ScriptDebugServer::sourceParsed):
23259        * bindings/js/ScriptDebugServer.h:
23260        * bindings/js/ScriptSourceCode.h:
23261        (WebCore::ScriptSourceCode::ScriptSourceCode):
23262        * bindings/js/StringSourceProvider.h:
23263        (WebCore::StringSourceProvider::create):
23264        (WebCore::StringSourceProvider::startPosition):
23265        (WebCore::StringSourceProvider::StringSourceProvider):
23266
232672011-01-19  Satish Sampath  <satish@chromium.org>
23268
23269        Reviewed by Jeremy Orlow.
23270
23271        Send origin/url as part of speech input requests to the embedder.
23272        https://bugs.webkit.org/show_bug.cgi?id=52718
23273
23274        * page/SpeechInput.cpp:
23275        (WebCore::SpeechInput::startRecognition): Pass up additional origin parameter.
23276        * page/SpeechInput.h:
23277        * page/SpeechInputClient.h:
23278        * platform/mock/SpeechInputClientMock.cpp:
23279        (WebCore::SpeechInputClientMock::startRecognition): Updated prototype.
23280        * platform/mock/SpeechInputClientMock.h:
23281        * rendering/TextControlInnerElements.cpp:
23282        (WebCore::InputFieldSpeechButtonElement::defaultEventHandler): Pass the frame origin to speech input request.
23283
232842011-01-19  Hans Wennborg  <hans@chromium.org>
23285
23286        Reviewed by Jeremy Orlow.
23287
23288        IndexedDB: Support auto-increment keys
23289        https://bugs.webkit.org/show_bug.cgi?id=52576
23290
23291        Add support for auto-increment keys.
23292
23293        Test: storage/indexeddb/objectstore-autoincrement.html
23294
23295        * storage/IDBDatabase.cpp:
23296        (WebCore::IDBDatabase::createObjectStore):
23297        * storage/IDBObjectStoreBackendImpl.cpp:
23298        (WebCore::genAutoIncrementKey):
23299        (WebCore::IDBObjectStoreBackendImpl::putInternal):
23300
233012011-01-19  Csaba Osztrogonác  <ossy@webkit.org>
23302
23303        Reviewed by Laszlo Gombos and Tor Arne Vestbø.
23304
23305        [Qt] Remove unnecessary "../Source" from paths
23306        after moving source files into Source is finished.
23307
23308        * WebCore.pri:
23309        * WebCore.pro:
23310
233112011-01-19  Alexander Pavlov  <apavlov@chromium.org>
23312
23313        Reviewed by Pavel Feldman.
23314
23315        Web Inspector: Employ TextPrompt for CSS property name/value autocompletion
23316        https://bugs.webkit.org/show_bug.cgi?id=52212
23317
23318        WebInspector.CSSKeywordCompletions contains a hand-written list of accepted CSS property value keywords
23319        for each property. WebInspector.TextPrompt is used to suggest both the name and value keywords while
23320        editing styles, in place of the old custom suggestion code.
23321
23322        * inspector/front-end/CSSCompletions.js:
23323        (WebInspector.CSSCompletions.prototype.startsWith): Fix array-out-of-bounds error.
23324        * inspector/front-end/CSSKeywordCompletions.js: Added.
23325        (WebInspector.CSSKeywordCompletions.forProperty):
23326        * inspector/front-end/StylesSidebarPane.js:
23327        (WebInspector.StylePropertyTreeElement.prototype.updateTitle):
23328        (WebInspector.StylePropertyTreeElement.prototype):
23329        ():
23330        * inspector/front-end/TextPrompt.js:
23331        (WebInspector.TextPrompt):
23332        (WebInspector.TextPrompt.prototype.removeFromElement):
23333        (WebInspector.TextPrompt.prototype._onKeyDown):
23334        (WebInspector.TextPrompt.prototype.tabKeyPressed):
23335        (WebInspector.TextPrompt.prototype.upKeyPressed):
23336        (WebInspector.TextPrompt.prototype.downKeyPressed):
23337        (WebInspector.TextPrompt.prototype._moveBackInHistory):
23338        (WebInspector.TextPrompt.prototype._moveForwardInHistory):
23339        * inspector/front-end/inspector.css:
23340        (.auto-complete-text, .editing .auto-complete-text):
23341        * inspector/front-end/inspector.html:
23342
233432011-01-19  Dai Mikurube  <dmikurube@google.com>
23344
23345        Reviewed by Kent Tamura.
23346
23347        Implement onformchange and onforminput event handlers
23348        https://bugs.webkit.org/show_bug.cgi?id=26141
23349
23350        Tests: fast/forms/formchange-event.html
23351               fast/forms/forminput-event.html
23352
23353        * bindings/scripts/CodeGeneratorGObject.pm: Added event names.
23354        * dom/Document.h: Added event definitions.
23355        * dom/Document.idl: Added event definitions.
23356        * dom/Element.h: Added event definitions.
23357        * dom/Element.idl: Added event definitions.
23358        * dom/Event.cpp:
23359        (WebCore::Event::fromUserGesture): Added a condition for a formchange event in handling user gestures.
23360        * dom/EventNames.h: Added event definitions.
23361        * dom/InputElement.cpp:
23362        (WebCore::InputElement::setValueFromRenderer): Replaced a direct dispatchEvent() call into dispatchInputEvents(), a virtual function which broadcasts forminput events for HTML elements.
23363        * dom/Node.cpp:
23364        (WebCore::Node::dispatchInputEvents): Defined basic dispatchInputEvents() described above.
23365        (WebCore::Node::dispatchChangeEvents): Defined basic dispatchChangeEvents() described above.
23366        (WebCore::Node::defaultEventHandler): Replaced a direct dispatchEvent() call into dispatchInputEvents().
23367        * dom/Node.h:
23368        * html/FormAssociatedElement.h: Added isResettable() to check the element is resettable or not.
23369        * html/HTMLAttributeNames.in: Added event names.
23370        * html/HTMLElement.cpp:
23371        (WebCore::HTMLElement::parseMappedAttribute): Added event handling.
23372        (WebCore::HTMLElement::shadowAncestorOwnerForm): Added to get an ancestor <form> element from a shadow element.
23373        (WebCore::HTMLElement::dispatchChangeEvents): Defined dispatchChangeEvents() for HTML elements described above.
23374        (WebCore::HTMLElement::dispatchInputEvents): Defined dispatchInputEvents() for HTML elements described above.
23375        * html/HTMLElement.h:
23376        * html/HTMLFormControlElement.cpp:
23377        (WebCore::HTMLFormControlElement::dispatchFormControlChangeEvent): Added calling dispatchFormChange() to broadcast formchange events.
23378        (WebCore::HTMLFormControlElement::dispatchFormControlInputEvent): Defined newly to dispatch an input event with broadcasting forminput events.
23379        * html/HTMLFormControlElement.h: Added isResettable().
23380        * html/HTMLFormElement.cpp:
23381        (WebCore::HTMLFormElement::broadcastFormEvent): Added to broadcast forminput or formchange events.
23382        (WebCore::HTMLFormElement::dispatchFormInput): Defined newly to broadcast forminput events.
23383        (WebCore::HTMLFormElement::dispatchFormChange): Defined newly to broadcast formchange events.
23384        * html/HTMLFormElement.h:
23385        * html/HTMLFormElement.idl: Added dispatchFormInput() and dispatchFormChange() DOM API definitions.
23386        * html/HTMLInputElement.cpp:
23387        (WebCore::HTMLInputElement::stepUpFromRenderer): Replaced a direct dispatchEvent() call into dispatchInputEvents().
23388        * html/HTMLInputElement.h: Added isResettable().
23389        * html/HTMLKeygenElement.h: Added isResettable().
23390        * html/HTMLObjectElement.h: Added isResettable().
23391        * html/HTMLOutputElement.h: Added isResettable().
23392        * html/HTMLSelectElement.h: Added isResettable().
23393        * html/HTMLTextAreaElement.h: Added isResettable().
23394        * page/DOMWindow.h: Added event definitions.
23395        * page/DOMWindow.idl: Added event definitions.
23396        * rendering/TextControlInnerElements.cpp:
23397        (WebCore::SearchFieldCancelButtonElement::defaultEventHandler): Replaced a direct dispatchEvent() call into dispatchInputEvents().
23398
233992011-01-19  Andrey Kosyakov  <caseq@chromium.org>
23400
23401        Reviewed by Pavel Feldman.
23402
23403        Web Inspector: [Extensions API] delete pending callback from callback map before invoking it
23404        https://bugs.webkit.org/show_bug.cgi?id=52707
23405
23406        * inspector/front-end/ExtensionAPI.js:
23407        (WebInspector.injectedExtensionAPI.ExtensionServerClient.prototype._onCallback):
23408
234092011-01-19  Levi Weintraub  <leviw@google.com>
23410
23411        Reviewed by Ryosuke Niwa.
23412
23413        Replaced rangeCompliantEquivalent with Position::parentAnchoredEquivalent
23414        and simplified the logic a bit. Unfortunately, Tables and some legacy
23415        editing positions still need to be handled specifically.
23416
23417        remove rangeCompliantEquivalent and replace it with Position methods
23418        https://bugs.webkit.org/show_bug.cgi?id=25057
23419
23420        No new tests as this is a refactor that doesn't change behavior.
23421
23422        * WebCore.exp.in:
23423        * dom/Document.cpp:
23424        (WebCore::Document::caretRangeFromPoint):
23425        * dom/Position.cpp:
23426        (WebCore::Position::parentAnchoredEquivalent):
23427        * dom/Position.h:
23428        * editing/ApplyStyleCommand.cpp:
23429        (WebCore::ApplyStyleCommand::applyBlockStyle):
23430        * editing/CompositeEditCommand.cpp:
23431        (WebCore::CompositeEditCommand::insertNodeAt):
23432        (WebCore::CompositeEditCommand::moveParagraphs):
23433        * editing/DeleteSelectionCommand.cpp:
23434        (WebCore::DeleteSelectionCommand::initializePositionData):
23435        (WebCore::DeleteSelectionCommand::mergeParagraphs):
23436        * editing/Editor.cpp:
23437        (WebCore::Editor::textDirectionForSelection):
23438        (WebCore::Editor::advanceToNextMisspelling):
23439        * editing/InsertLineBreakCommand.cpp:
23440        (WebCore::InsertLineBreakCommand::shouldUseBreakElement):
23441        * editing/InsertParagraphSeparatorCommand.cpp:
23442        (WebCore::InsertParagraphSeparatorCommand::doApply):
23443        * editing/ReplaceSelectionCommand.cpp:
23444        (WebCore::handleStyleSpansBeforeInsertion):
23445        * editing/VisiblePosition.cpp:
23446        (WebCore::makeRange):
23447        (WebCore::setStart):
23448        (WebCore::setEnd):
23449        * editing/VisibleSelection.cpp:
23450        (WebCore::VisibleSelection::firstRange):
23451        (WebCore::VisibleSelection::toNormalizedRange):
23452        (WebCore::makeSearchRange):
23453        * editing/htmlediting.cpp:
23454        (WebCore::indexForVisiblePosition):
23455        * editing/htmlediting.h:
23456        * editing/visible_units.cpp:
23457        (WebCore::previousBoundary):
23458        (WebCore::nextBoundary):
23459        * page/DOMSelection.cpp:
23460        (WebCore::anchorPosition):
23461        (WebCore::focusPosition):
23462        (WebCore::basePosition):
23463        (WebCore::extentPosition):
23464
234652011-01-19  Peter Rybin  <peter.rybin@gmail.com>
23466
23467        Reviewed by Yury Semikhatsky.
23468
23469        Web Inspector: script column offset is incorrect
23470        https://bugs.webkit.org/show_bug.cgi?id=52580
23471
23472        Column is updated in 3 places, 2 less probable places contained error.
23473        Fixed now.
23474
23475        * platform/text/SegmentedString.cpp:
23476        (WebCore::SegmentedString::advanceSlowCase):
23477        * platform/text/SegmentedString.h:
23478        (WebCore::SegmentedString::advancePastNewline):
23479
234802011-01-18  Pavel Feldman  <pfeldman@chromium.org>
23481
23482        Reviewed by Yury Semikhatsky.
23483
23484        Web Inspector: make InjectedScriptAccess API a part of Web Inspector protocol.
23485        https://bugs.webkit.org/show_bug.cgi?id=52652
23486
23487        Calls served by the InjectedScript should be first class protocol
23488        citizens, not dispatched via single protocol message.
23489
23490        * WebCore.gypi:
23491        * WebCore.vcproj/WebCore.vcproj:
23492        * inspector/CodeGeneratorInspector.pm:
23493        * inspector/InjectedScript.cpp:
23494        (WebCore::InjectedScript::evaluate):
23495        (WebCore::InjectedScript::evaluateInCallFrame):
23496        (WebCore::InjectedScript::evaluateOnSelf):
23497        (WebCore::InjectedScript::getCompletions):
23498        (WebCore::InjectedScript::getProperties):
23499        (WebCore::InjectedScript::pushNodeToFrontend):
23500        (WebCore::InjectedScript::resolveNode):
23501        (WebCore::InjectedScript::getNodeProperties):
23502        (WebCore::InjectedScript::getNodePrototypes):
23503        (WebCore::InjectedScript::setPropertyValue):
23504        (WebCore::InjectedScript::makeCall):
23505        * inspector/InjectedScript.h:
23506        * inspector/InjectedScriptHost.cpp:
23507        (WebCore::InjectedScriptHost::evaluate):
23508        (WebCore::InjectedScriptHost::evaluateInCallFrame):
23509        (WebCore::InjectedScriptHost::evaluateOnSelf):
23510        (WebCore::InjectedScriptHost::getCompletions):
23511        (WebCore::InjectedScriptHost::getProperties):
23512        (WebCore::InjectedScriptHost::pushNodeToFrontend):
23513        (WebCore::InjectedScriptHost::resolveNode):
23514        (WebCore::InjectedScriptHost::getNodeProperties):
23515        (WebCore::InjectedScriptHost::getNodePrototypes):
23516        (WebCore::InjectedScriptHost::setPropertyValue):
23517        (WebCore::InjectedScriptHost::injectedScriptForObjectId):
23518        (WebCore::InjectedScriptHost::injectedScriptForNodeId):
23519        (WebCore::InjectedScriptHost::injectedScriptForMainWorld):
23520        * inspector/InjectedScriptHost.h:
23521        * inspector/InjectedScriptSource.js:
23522        (.):
23523        * inspector/Inspector.idl:
23524        * inspector/InspectorController.cpp:
23525        * inspector/InspectorController.h:
23526        * inspector/InspectorValues.cpp:
23527        (WebCore::InspectorObject::getNumber):
23528        * inspector/InspectorValues.h:
23529        * inspector/front-end/AuditRules.js:
23530        (WebInspector.AuditRules.evaluateInTargetWindow):
23531        * inspector/front-end/ConsoleView.js:
23532        (WebInspector.ConsoleView.prototype.completions):
23533        (WebInspector.ConsoleView.prototype.doEvalInWindow):
23534        * inspector/front-end/ElementsTreeOutline.js:
23535        (WebInspector.ElementsTreeElement.prototype._createTooltipForNode):
23536        * inspector/front-end/ExtensionPanel.js:
23537        (WebInspector.ExtensionWatchSidebarPane.prototype.setExpression):
23538        * inspector/front-end/ExtensionServer.js:
23539        (WebInspector.ExtensionServer.prototype._onEvaluateOnInspectedPage):
23540        * inspector/front-end/InjectedScriptAccess.js: Removed.
23541        * inspector/front-end/PropertiesSidebarPane.js:
23542        (WebInspector.PropertiesSidebarPane.prototype.update.callback):
23543        (WebInspector.PropertiesSidebarPane.prototype.update):
23544        * inspector/front-end/RemoteObject.js:
23545        (WebInspector.RemoteObject.resolveNode):
23546        (WebInspector.RemoteObject.prototype.getProperties):
23547        (WebInspector.RemoteObject.prototype.setPropertyValue):
23548        (WebInspector.RemoteObject.prototype.pushNodeToFrontend):
23549        * inspector/front-end/ScriptsPanel.js:
23550        (WebInspector.ScriptsPanel.prototype.doEvalInCallFrame):
23551        * inspector/front-end/WebKit.qrc:
23552        * inspector/front-end/inspector.html:
23553
235542011-01-18  Anton Muhin  <antonm@chromium.org>
23555
23556        Reviewed by Adam Barth.
23557
23558        [v8] Minor cleanup: make 2nd argument of removeIfPresnt accept only a value type stored in the DOM map
23559        https://bugs.webkit.org/show_bug.cgi?id=51683
23560
23561        Covered by the existing tests.
23562
23563        * bindings/v8/DOMDataStore.cpp:
23564        (WebCore::DOMDataStore::weakNodeCallback):
23565        (WebCore::DOMDataStore::IntrusiveDOMWrapperMap::removeIfPresent):
23566        * bindings/v8/DOMDataStore.h:
23567        * bindings/v8/V8DOMMap.h:
23568        (WebCore::WeakReferenceMap::removeIfPresent):
23569
235702011-01-18 MORITA Hajime  <morrita@google.com>
23571
23572        Reviewed by Ryosuke Niwa.
23573        
23574        Refactoring: EventHandler::handleTextInputEvent should accept an enum instead of bools.
23575        https://bugs.webkit.org/show_bug.cgi?id=52608
23576
23577        No new tests. no behavioral change.
23578
23579        * GNUmakefile.am:
23580        * WebCore.gypi:
23581        * WebCore.pro:
23582        * WebCore.vcproj/WebCore.vcproj:
23583        * WebCore.xcodeproj/project.pbxproj:
23584        * dom/TextEvent.cpp:
23585        (WebCore::TextEvent::create):
23586        (WebCore::TextEvent::createForDrop):
23587        (WebCore::TextEvent::TextEvent):
23588        * dom/TextEvent.h:
23589        (WebCore::TextEvent::isLineBreak):
23590        (WebCore::TextEvent::isBackTab):
23591        (WebCore::TextEvent::isPaste):
23592        (WebCore::TextEvent::isDrop):
23593        * dom/TextEventInputType.h: Added. Extracted from TextEvent::TextInputType.
23594        * editing/EditorCommand.cpp:
23595        (WebCore::executeInsertBacktab):
23596        (WebCore::executeInsertLineBreak):
23597        (WebCore::executeInsertNewline):
23598        (WebCore::executeInsertTab):
23599        * page/EventHandler.cpp:
23600        (WebCore::EventHandler::handleTextInputEvent):
23601        * page/EventHandler.h:
23602
236032011-01-18  Ben Vanik  <ben.vanik@gmail.com>
23604
23605        Reviewed by Kenneth Russell.
23606
23607        Updating ANGLE in WebKit to r533.
23608        https://bugs.webkit.org/show_bug.cgi?id=47194
23609
23610        * platform/graphics/ANGLEWebKitBridge.cpp:
23611        (WebCore::ANGLEWebKitBridge::ANGLEWebKitBridge):
23612        (WebCore::ANGLEWebKitBridge::~ANGLEWebKitBridge):
23613        (WebCore::ANGLEWebKitBridge::validateShaderSource):
23614        Update to new ANGLE API for shader validation.
23615        * platform/graphics/ANGLEWebKitBridge.h:
23616        (WebCore::ANGLEWebKitBridge::setResources): 
23617        Renaming types to new names.
23618        * platform/graphics/mac/GraphicsContext3DMac.mm:
23619        (WebCore::GraphicsContext3D::GraphicsContext3D):
23620        Initialize ANGLEResources with ANGLE init call to prevent uninitialized variables.
23621
236222011-01-18  MORITA Hajime  <morrita@google.com>
23623
23624        Reviewed by Simon Fraser.
23625
23626        Refactoring: Extract RoundedIntRect class
23627        https://bugs.webkit.org/show_bug.cgi?id=51664
23628
23629        RoundedIntRect is a pair of rect and four IntSize objects which represent
23630        corner radii of the rectangle. IntSize is grouped into RoundedIntRect::Radii.
23631        Now RenderStyle::getRoundedBorderFor() and RenderStyle::getRoundedInnerBorderWithBorderWidths()
23632        return RoundedIntRect and GraphicsContext::addRoundedRectClip(), GraphicsContext::fillRoundedRect()
23633        and other functions accept RoundedIntRect as an argument.
23634
23635        * Android.mk:
23636        * CMakeLists.txt:
23637        * GNUmakefile.am:
23638        * WebCore.gypi:
23639        * WebCore.pro:
23640        * WebCore.vcproj/WebCore.vcproj:
23641        * WebCore.xcodeproj/project.pbxproj:
23642        * platform/graphics/GraphicsContext.cpp:
23643        (WebCore::GraphicsContext::addRoundedRectClip):
23644        (WebCore::GraphicsContext::clipOutRoundedRect):
23645        (WebCore::GraphicsContext::fillRoundedRect):
23646        * platform/graphics/GraphicsContext.h:
23647        * platform/graphics/RoundedIntRect.cpp: Added.
23648        (WebCore::RoundedIntRect::Radii::isZero):
23649        (WebCore::RoundedIntRect::Radii::scale):
23650        (WebCore::RoundedIntRect::Radii::expand):
23651        (WebCore::RoundedIntRect::Radii::includeLogicalEdges):
23652        (WebCore::RoundedIntRect::Radii::excludeLogicalEdges):
23653        (WebCore::RoundedIntRect::RoundedIntRect):
23654        (WebCore::RoundedIntRect::includeLogicalEdges):
23655        (WebCore::RoundedIntRect::excludeLogicalEdges):
23656        * platform/graphics/RoundedIntRect.h: Added.
23657        (WebCore::RoundedIntRect::Radii::Radii):
23658        (WebCore::RoundedIntRect::Radii::setTopLeft):
23659        (WebCore::RoundedIntRect::Radii::setTopRight):
23660        (WebCore::RoundedIntRect::Radii::setBottomLeft):
23661        (WebCore::RoundedIntRect::Radii::setBottomRight):
23662        (WebCore::RoundedIntRect::Radii::topLeft):
23663        (WebCore::RoundedIntRect::Radii::topRight):
23664        (WebCore::RoundedIntRect::Radii::bottomLeft):
23665        (WebCore::RoundedIntRect::Radii::bottomRight):
23666        (WebCore::RoundedIntRect::Radii::expand):
23667        (WebCore::RoundedIntRect::Radii::shrink):
23668        (WebCore::RoundedIntRect::rect):
23669        (WebCore::RoundedIntRect::radii):
23670        (WebCore::RoundedIntRect::isRounded):
23671        (WebCore::RoundedIntRect::isEmpty):
23672        (WebCore::RoundedIntRect::setRect):
23673        (WebCore::RoundedIntRect::setRadii):
23674        (WebCore::RoundedIntRect::move):
23675        (WebCore::RoundedIntRect::inflate):
23676        (WebCore::RoundedIntRect::inflateWithRadii):
23677        (WebCore::RoundedIntRect::expandRadii):
23678        (WebCore::RoundedIntRect::shrinkRadii):
23679        * rendering/RenderBox.cpp:
23680        (WebCore::RenderBox::pushContentsClip):
23681        * rendering/RenderBoxModelObject.cpp:
23682        (WebCore::RenderBoxModelObject::paintFillLayerExtended):
23683        (WebCore::RenderBoxModelObject::paintBorder):
23684        (WebCore::RenderBoxModelObject::clipBorderSidePolygon):
23685        (WebCore::RenderBoxModelObject::paintBoxShadow):
23686        * rendering/RenderBoxModelObject.h:
23687        * rendering/RenderObject.cpp:
23688        (WebCore::RenderObject::drawBoxSideFromPath):
23689        * rendering/RenderReplaced.cpp:
23690        (WebCore::RenderReplaced::paint):
23691        * rendering/RenderThemeChromiumWin.cpp:
23692        (WebCore::RenderThemeChromiumWin::paintTextFieldInternal):
23693        * rendering/RenderThemeMac.mm:
23694        (WebCore::RenderThemeMac::paintMenuListButtonGradients):
23695        (WebCore::RenderThemeMac::paintSliderTrack):
23696        * rendering/RenderThemeSafari.cpp:
23697        (WebCore::RenderThemeSafari::paintMenuListButtonGradients):
23698        (WebCore::RenderThemeSafari::paintSliderTrack):
23699        * rendering/RenderThemeWinCE.cpp:
23700        (WebCore::RenderThemeWinCE::paintSearchFieldCancelButton):
23701        * rendering/RenderWidget.cpp:
23702        (WebCore::RenderWidget::paint):
23703        * rendering/style/BorderData.h:
23704        * rendering/style/RenderStyle.cpp:
23705        (WebCore::calcRadiiFor):
23706        (WebCore::calcConstraintScaleFor):
23707        (WebCore::RenderStyle::getRoundedBorderFor):
23708        (WebCore::RenderStyle::getRoundedInnerBorderWithBorderWidths):
23709        * rendering/style/RenderStyle.h:
23710        (WebCore::InheritedFlags::setBorderRadius):
23711
237122011-01-18  MORITA Hajime  <morrita@google.com>
23713
23714        Reviewed by Simon Fraser.
23715
23716        Refactoring: Extract RoundedIntRect class
23717        https://bugs.webkit.org/show_bug.cgi?id=51664
23718
23719        RoundedIntRect is a pair of rect and four IntSize objects which represent
23720        corner radii of the rectangle. IntSize is grouped into RoundedIntRect::Radii.
23721        Now RenderStyle::getRoundedBorderFor() and RenderStyle::getRoundedInnerBorderWithBorderWidths()
23722        return RoundedIntRect and GraphicsContext::addRoundedRectClip(), GraphicsContext::fillRoundedRect()
23723        and other functions accept RoundedIntRect as an argument.
23724
23725        No new tests. No behavioral change.
23726
23727        * Android.mk:
23728        * CMakeLists.txt:
23729        * WebCore.gypi:
23730        * WebCore.pro:
23731        * WebCore.xcodeproj/project.pbxproj:
23732        * platform/graphics/GraphicsContext.cpp:
23733        (WebCore::GraphicsContext::addRoundedRectClip):
23734        (WebCore::GraphicsContext::clipOutRoundedRect):
23735        (WebCore::GraphicsContext::fillRoundedRect):
23736        * platform/graphics/GraphicsContext.h:
23737        * platform/graphics/RoundedIntRect.cpp: Added.
23738        (WebCore::RoundedIntRect::Radii::isZero):
23739        (WebCore::RoundedIntRect::Radii::scale):
23740        (WebCore::RoundedIntRect::Radii::expand):
23741        (WebCore::RoundedIntRect::Radii::includeLogicalEdges):
23742        (WebCore::RoundedIntRect::Radii::excludeLogicalEdges):
23743        (WebCore::RoundedIntRect::RoundedIntRect):
23744        (WebCore::RoundedIntRect::includeLogicalEdges):
23745        (WebCore::RoundedIntRect::excludeLogicalEdges):
23746        * platform/graphics/RoundedIntRect.h: Added.
23747        (WebCore::RoundedIntRect::Radii::Radii):
23748        (WebCore::RoundedIntRect::Radii::setTopLeft):
23749        (WebCore::RoundedIntRect::Radii::setTopRight):
23750        (WebCore::RoundedIntRect::Radii::setBottomLeft):
23751        (WebCore::RoundedIntRect::Radii::setBottomRight):
23752        (WebCore::RoundedIntRect::Radii::topLeft):
23753        (WebCore::RoundedIntRect::Radii::topRight):
23754        (WebCore::RoundedIntRect::Radii::bottomLeft):
23755        (WebCore::RoundedIntRect::Radii::bottomRight):
23756        (WebCore::RoundedIntRect::Radii::expand):
23757        (WebCore::RoundedIntRect::Radii::shrink):
23758        (WebCore::RoundedIntRect::rect):
23759        (WebCore::RoundedIntRect::radii):
23760        (WebCore::RoundedIntRect::isRounded):
23761        (WebCore::RoundedIntRect::isEmpty):
23762        (WebCore::RoundedIntRect::setRect):
23763        (WebCore::RoundedIntRect::setRadii):
23764        (WebCore::RoundedIntRect::move):
23765        (WebCore::RoundedIntRect::inflate):
23766        (WebCore::RoundedIntRect::inflateWithRadii):
23767        (WebCore::RoundedIntRect::expandRadii):
23768        (WebCore::RoundedIntRect::shrinkRadii):
23769        * rendering/RenderBox.cpp:
23770        (WebCore::RenderBox::pushContentsClip):
23771        * rendering/RenderBoxModelObject.cpp:
23772        (WebCore::RenderBoxModelObject::paintFillLayerExtended):
23773        (WebCore::RenderBoxModelObject::paintBorder):
23774        (WebCore::RenderBoxModelObject::clipBorderSidePolygon):
23775        (WebCore::RenderBoxModelObject::paintBoxShadow):
23776        * rendering/RenderBoxModelObject.h:
23777        * rendering/RenderObject.cpp:
23778        (WebCore::RenderObject::drawBoxSideFromPath):
23779        * rendering/RenderReplaced.cpp:
23780        (WebCore::RenderReplaced::paint):
23781        * rendering/RenderThemeChromiumWin.cpp:
23782        (WebCore::RenderThemeChromiumWin::paintTextFieldInternal):
23783        * rendering/RenderThemeMac.mm:
23784        (WebCore::RenderThemeMac::paintMenuListButtonGradients):
23785        (WebCore::RenderThemeMac::paintSliderTrack):
23786        * rendering/RenderThemeSafari.cpp:
23787        (WebCore::RenderThemeSafari::paintMenuListButtonGradients):
23788        (WebCore::RenderThemeSafari::paintSliderTrack):
23789        * rendering/RenderThemeWinCE.cpp:
23790        (WebCore::RenderThemeWinCE::paintSearchFieldCancelButton):
23791        * rendering/RenderWidget.cpp:
23792        (WebCore::RenderWidget::paint):
23793        * rendering/style/BorderData.h:
23794        * rendering/style/RenderStyle.cpp:
23795        (WebCore::calcRadiiFor):
23796        (WebCore::calcConstraintScaleFor):
23797        (WebCore::RenderStyle::getRoundedBorderFor):
23798        (WebCore::RenderStyle::getRoundedInnerBorderWithBorderWidths):
23799        * rendering/style/RenderStyle.h:
23800        (WebCore::InheritedFlags::setBorderRadius):
23801
238022011-01-18  Victoria Kirst  <vrk@chromium.org>
23803
23804        Reviewed by Kenneth Russell.
23805
23806        [chromium] Adding support for YV16 video frame formats.
23807        https://bugs.webkit.org/show_bug.cgi?id=52345
23808
23809        * platform/graphics/chromium/VideoLayerChromium.cpp:
23810        (WebCore::VideoLayerChromium::determineTextureFormat):
23811        (WebCore::VideoLayerChromium::draw):
23812
238132011-01-18  David Hyatt  <hyatt@apple.com>
23814
23815        Reviewed by Dan Bernstein.
23816
23817        <rdar://problem/8479998> REGRESSION (r67660): broken button layout at devforums.apple.com
23818        
23819        Exclude floating objects from shrinking to avoid floats.  They should never do this.  Timing-related bugs could
23820        occur as a result of this mistake, and the change to rewrite pagination to defer layout of floats until they
23821        got encountered on the correct line exposed this issue.
23822
23823        Added /fast/block/float/float-overflow-hidden-containing-block-width.html.
23824
23825        * rendering/RenderBox.cpp:
23826        (WebCore::RenderBox::shrinkToAvoidFloats):
23827
238282011-01-18  Zhenyao Mo  <zmo@google.com>
23829
23830        Reviewed by Kenneth Russell.
23831
23832        Make CheckedInt<long> and CheckedInt<unsigned long> work
23833        https://bugs.webkit.org/show_bug.cgi?id=52401
23834
23835        * html/canvas/CheckedInt.h:
23836        (WebCore::CheckedInt::CheckedInt): Merge with the patch provided by Benoit Jacob.
23837        * html/canvas/WebGLBuffer.cpp:
23838        (WebCore::WebGLBuffer::associateBufferDataImpl): Use CheckedInt<long> instead of CheckedInt<int>.
23839        (WebCore::WebGLBuffer::associateBufferSubDataImpl): Ditto.
23840
238412011-01-18  Kenneth Russell  <kbr@google.com>
23842
23843        Reviewed by David Levin.
23844
23845        Must strip comments from WebGL shaders before enforcing character set
23846        https://bugs.webkit.org/show_bug.cgi?id=52390
23847
23848        Strip comments from incoming shaders, preserving line numbers,
23849        before validating that they conform to the ESSL character set.
23850        Revert changes from http://trac.webkit.org/changeset/75735 which
23851        allowed invalid characters to be passed to certain APIs.
23852
23853        Tested with WebGL layout tests, conformance test suite and several
23854        WebGL demos in both Safari and Chromium.
23855
23856        * html/canvas/WebGLRenderingContext.cpp:
23857        (WebCore::StripComments::StripComments::process):
23858        (WebCore::WebGLRenderingContext::shaderSource):
23859
238602011-01-18  Ryosuke Niwa  <rniwa@webkit.org>
23861
23862        Reviewed by Eric Seidel.
23863
23864        Stop instantiating legacy editing positions in DeleteSelectionCommand, IndentOudentCommand,
23865        InsertLineBreakCommand, InsertListCOmmand.cpp, InsertParagraphSeparatorCommand, and htmlediting.cpp
23866        https://bugs.webkit.org/show_bug.cgi?id=52644
23867
23868        This is a cleanup to stop instantiating legacy editing positions in the following tests.
23869        firstDeepEditingPositionForNode and lastDeepEditingPositionForNode in htmlediting.h are not updated
23870        because doing so requires significant code changes. They are tracked on the bug 52642.
23871
23872        * editing/DeleteSelectionCommand.cpp:
23873        (WebCore::DeleteSelectionCommand::initializeStartEnd):
23874        (WebCore::updatePositionForNodeRemoval):
23875        (WebCore::DeleteSelectionCommand::removeNode):
23876        (WebCore::updatePositionForTextRemoval):
23877        (WebCore::DeleteSelectionCommand::handleGeneralDelete):
23878        * editing/IndentOutdentCommand.cpp:
23879        (WebCore::IndentOutdentCommand::outdentParagraph):
23880        * editing/InsertLineBreakCommand.cpp:
23881        (WebCore::InsertLineBreakCommand::doApply):
23882        * editing/InsertListCommand.cpp:
23883        (WebCore::InsertListCommand::doApplyForSingleParagraph):
23884        (WebCore::InsertListCommand::unlistifyParagraph):
23885        (WebCore::InsertListCommand::listifyParagraph):
23886        * editing/InsertParagraphSeparatorCommand.cpp:
23887        (WebCore::InsertParagraphSeparatorCommand::doApply):
23888        * editing/htmlediting.cpp:
23889        (WebCore::enclosingBlock):
23890        (WebCore::enclosingList):
23891        (WebCore::enclosingListChild):
23892        (WebCore::indexForVisiblePosition):
23893        (WebCore::isNodeVisiblyContainedWithin):
23894        (WebCore::avoidIntersectionWithNode):
23895
238962011-01-18  Benjamin Kalman  <kalman@chromium.org>
23897
23898        Reviewed by Ryosuke Niwa.
23899
23900        Tweak style in visible_units.cpp and TextIterator.cpp in preparation for another patch
23901        https://bugs.webkit.org/show_bug.cgi?id=52610
23902
23903        This is a purely aesthetic change.
23904
23905        * editing/TextIterator.cpp:
23906        (WebCore::SimplifiedBackwardsTextIterator::advance):
23907        * editing/visible_units.cpp:
23908        (WebCore::previousBoundary):
23909
239102011-01-18  Adam Klein  <adamk@chromium.org>
23911
23912        Reviewed by Darin Fisher.
23913
23914        [Chromium] Replace ChromiumBridge::widgetSetCursor with ChromeClient::setCursor
23915        https://bugs.webkit.org/show_bug.cgi?id=42236
23916
23917        * platform/chromium/ChromiumBridge.h:
23918        * platform/chromium/WidgetChromium.cpp:
23919        (WebCore::Widget::setCursor):
23920
239212011-01-18  Chris Fleizach  <cfleizach@apple.com>
23922
23923        Reviewed by Darin Adler.
23924
23925        REGRESSION: A problem with Voiceover and finding links
23926        https://bugs.webkit.org/show_bug.cgi?id=52324
23927
23928        Fallout from recent change to make WebCore return its own scroll view.
23929           1) There were two scroll views in the hierarchy, one which no needed to be ignored.
23930           2) Hit tests for sub frames needed to be offset.
23931           3) The check for whether an attachment is ignored must happen earlier than using
23932              the helpText to determine if an element should be ignored.
23933
23934        Test: platform/mac/accessibility/iframe-with-title-correct-hierarchy.html
23935
23936        * accessibility/AccessibilityObject.cpp:
23937        (WebCore::AccessibilityObject::elementAccessibilityHitTest):
23938        * accessibility/AccessibilityRenderObject.cpp:
23939        (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
23940        * accessibility/mac/AccessibilityObjectWrapper.mm:
23941        (-[AccessibilityObjectWrapper scrollViewParent]):
23942
239432011-01-18  Adam Roben  <aroben@apple.com>
23944
23945        Call alternate CFHTTPCookie functions if available
23946
23947        Fixes <http://webkit.org/b/52637> <rdar://problem/8878984>.
23948
23949        Reviewed by Darin Adler.
23950
23951        * platform/network/cf/CookieJarCFNet.cpp: Added soft-linking macros to
23952        pull in the alternate CFHTTPCookie functions.
23953
23954        (WebCore::cookieDomain):
23955        (WebCore::cookieExpirationTime):
23956        (WebCore::cookieName):
23957        (WebCore::cookiePath):
23958        (WebCore::cookieValue):
23959        Added these wrappers around the CFHTTPCookie functions. We call the
23960        alternate functions if they exist, otherwise fall back to the current
23961        functions.
23962
23963        (WebCore::filterCookies):
23964        (WebCore::getRawCookies):
23965        (WebCore::deleteCookie):
23966        Changed to use the wrapper functions.
23967
239682011-01-18  Martin Robinson  <mrobinson@igalia.com>
23969
23970        Reviewed by Eric Seidel.
23971
23972        [GTK] Filenames are converted to URLs during edit drags
23973        https://bugs.webkit.org/show_bug.cgi?id=52096
23974
23975        * platform/gtk/DragDataGtk.cpp: Only advertise and deliver filenames as URLs if the
23976        conversion policy allows it.
23977        (WebCore::DragData::containsURL): Ditto.
23978        (WebCore::DragData::asURL): Ditto.
23979
239802011-01-18  Helder Correia  <helder@sencha.com>
23981
23982        Reviewed by Kenneth Rohde Christiansen.
23983
23984        [Qt] Incorrect shadow alpha with semi-transparent solid fillStyle
23985        https://bugs.webkit.org/show_bug.cgi?id=52611
23986
23987        This is related to bug 52559. The shadow color alpha must be multiplied
23988        by the context brush alpha.
23989
23990        Test: fast/canvas/canvas-fillPath-alpha-shadow.html
23991
23992        * platform/graphics/qt/GraphicsContextQt.cpp:
23993        (WebCore::GraphicsContext::fillPath):
23994
239952011-01-18  Andrey Kosyakov  <caseq@chromium.org>
23996
23997        Reviewed by Yury Semikhatsky.
23998
23999        Web Inspector: fail resource.requestContent() immediately for WebSocket resources
24000        https://bugs.webkit.org/show_bug.cgi?id=52628
24001
24002        * English.lproj/localizedStrings.js: Rename WebSocket -> WebSockets in resource catetegories (rest are in plural, too)
24003        * inspector/front-end/ExtensionServer.js: Do not expose webInspector.resources.Types in extensions API (obsolete)
24004        (WebInspector.ExtensionServer.prototype._buildExtensionAPIInjectedScript):
24005        * inspector/front-end/Resource.js:
24006        (WebInspector.Resource.Type.toUIString): Remove ResourceType.Media as it's not used.
24007        (WebInspector.Resource.Type.toString): ditto.
24008        (WebInspector.Resource.prototype.requestContent): Fail immediately for WebSocket resources.
24009        * inspector/front-end/inspector.js: Rename WebSocket -> WebSockets in resource catetegories (rest are in plural, too)
24010
240112011-01-18  Helder Correia  <helder@sencha.com>
24012
24013        Reviewed by Dirk Schulze.
24014
24015        REGRESSION(75139): SVG gradients are not applied to texts
24016        https://bugs.webkit.org/show_bug.cgi?id=52531
24017
24018        r75139 caused a problem with filling and stroking text with a gradient
24019        fill in SVG. The order of CGContextConcatCTM and CGContextClipToRect
24020        was mixed up.
24021
24022        Test: svg/css/text-gradient-shadow.svg
24023
24024        * platform/graphics/cg/GraphicsContextCG.cpp:
24025        (WebCore::GraphicsContext::fillRect):
24026
240272011-01-18  Leo Yang  <leo.yang@torchmobile.com.cn>
24028
24029        Reviewed by Nikolas Zimmermann.
24030
24031        Unable to indirectly animate visibility of SVGUseElement
24032        https://bugs.webkit.org/show_bug.cgi?id=50240
24033
24034        SVGUseElement::recalcStyle should take care of its shadow
24035        tree's style recalculation when it is called with change >= Inherit
24036        or when childNeedsStyleRecalc() is true because in these two
24037        cases needStyleRecalc() may not be true.
24038
24039        Test: svg/custom/use-inherit-style.svg
24040
24041        * svg/SVGUseElement.cpp:
24042        (WebCore::SVGUseElement::recalcStyle):
24043
240442011-01-18  Pavel Podivilov  <podivilov@chromium.org>
24045
24046        Reviewed by Yury Semikhatsky.
24047
24048        Web Inspector: provide script length to frontend.
24049        https://bugs.webkit.org/show_bug.cgi?id=52620
24050
24051        * inspector/Inspector.idl:
24052        * inspector/InspectorDebuggerAgent.cpp:
24053        (WebCore::InspectorDebuggerAgent::didParseSource):
24054        * inspector/front-end/DebuggerModel.js:
24055        (WebInspector.DebuggerModel.prototype._parsedScriptSource):
24056        (WebInspector.DebuggerDispatcher.prototype.parsedScriptSource):
24057        * inspector/front-end/Script.js:
24058        (WebInspector.Script):
24059
240602011-01-18  Zoltan Herczeg  <zherczeg@webkit.org>
24061
24062        Rubber-stamped by Csaba Osztrogonác
24063
24064        Fixing ChangeLog
24065
24066        Removing a line introduced by
24067        http://trac.webkit.org/changeset/75743/trunk/Source/WebCore/ChangeLog
24068        Removing an unnecessary space before a time stamp.
24069
240702011-01-17  Andrey Kosyakov  <caseq@chromium.org>
24071
24072        Reviewed by Yury Semikhatsky.
24073
24074        Web Inspector: [refactoring] use events to notify NetworkManager clients
24075        https://bugs.webkit.org/show_bug.cgi?id=52588
24076
24077        * inspector/front-end/AuditLauncherView.js:
24078        (WebInspector.AuditLauncherView): Do not expose public interface to resource count. Do not reset resource count upon reset().
24079        (WebInspector.AuditLauncherView.prototype._resetResourceCount):
24080        (WebInspector.AuditLauncherView.prototype._onResourceStarted):
24081        (WebInspector.AuditLauncherView.prototype._onResourceFinished):
24082        * inspector/front-end/AuditsPanel.js: Do not expose public interface to resource start/finish events.
24083        * inspector/front-end/ExtensionServer.js:
24084        (WebInspector.ExtensionServer):
24085        (WebInspector.ExtensionServer.prototype._notifyResourceFinished):
24086        (WebInspector.ExtensionServer.prototype.initExtensions):
24087        * inspector/front-end/NetworkManager.js: Dispatch events rather than directly call clients.
24088        (WebInspector.NetworkManager):
24089        (WebInspector.NetworkManager.prototype.willSendRequest):
24090        (WebInspector.NetworkManager.prototype.markResourceAsCached):
24091        (WebInspector.NetworkManager.prototype.didReceiveResponse):
24092        (WebInspector.NetworkManager.prototype.didReceiveContentLength):
24093        (WebInspector.NetworkManager.prototype.setInitialContent):
24094        (WebInspector.NetworkManager.prototype.didCommitLoadForFrame):
24095        (WebInspector.NetworkManager.prototype.willSendWebSocketHandshakeRequest):
24096        (WebInspector.NetworkManager.prototype.didReceiveWebSocketHandshakeResponse):
24097        (WebInspector.NetworkManager.prototype._startResource):
24098        (WebInspector.NetworkManager.prototype._finishResource):
24099        * inspector/front-end/NetworkPanel.js:
24100        (WebInspector.NetworkPanel):
24101        (WebInspector.NetworkPanel.prototype._onResourceStarted):
24102        (WebInspector.NetworkPanel.prototype._appendResource):
24103        (WebInspector.NetworkPanel.prototype._onResourceUpdated):
24104        (WebInspector.NetworkPanel.prototype._refreshResource):
24105        (WebInspector.NetworkPanel.prototype._onMainResourceChanged):
24106        * inspector/front-end/ResourcesPanel.js:
24107        (WebInspector.ResourcesPanel):
24108        (WebInspector.ResourcesPanel.prototype._refreshResource):
24109
241102011-01-18  Pavel Feldman  <pfeldman@chromium.org>
24111
24112        Reviewed by Yury Semikhatsky.
24113
24114        Web Inspector: preserve pause on exception state in settings.
24115        https://bugs.webkit.org/show_bug.cgi?id=52619
24116
24117        * inspector/InspectorController.cpp:
24118        (WebCore::InspectorController::getInspectorState):
24119        * inspector/InspectorDebuggerAgent.cpp:
24120        (WebCore::InspectorDebuggerAgent::setPauseOnExceptionsState):
24121        * inspector/InspectorDebuggerAgent.h:
24122        * inspector/front-end/ScriptsPanel.js:
24123        (WebInspector.ScriptsPanel):
24124        (WebInspector.ScriptsPanel.prototype.debuggerWasEnabled):
24125        (WebInspector.ScriptsPanel.prototype._updatePauseOnExceptionsState):
24126        (WebInspector.ScriptsPanel.prototype._togglePauseOnExceptions):
24127        (WebInspector.ScriptsPanel.prototype._setPauseOnExceptions):
24128        * inspector/front-end/Settings.js:
24129        (WebInspector.Settings):
24130        * inspector/front-end/inspector.js:
24131        (WebInspector.doLoadedDone.populateInspectorState):
24132
241332011-01-18  Pavel Podivilov  <podivilov@chromium.org>
24134
24135        Reviewed by Yury Semikhatsky.
24136
24137        Web Inspector: [REGRESSION] JavaScript exceptions aren't shown in source frame.
24138        https://bugs.webkit.org/show_bug.cgi?id=52623
24139
24140        * inspector/front-end/ConsoleView.js:
24141        (WebInspector.ConsoleMessage):
24142        (WebInspector.ConsoleMessage.prototype._formatMessage):
24143
241442011-01-18  Pavel Feldman  <pfeldman@chromium.org>
24145
24146        Revert r76017. No need to guard InspectorInstrumentation:: in WebCore.
24147
24148        * page/Page.cpp:
24149        (WebCore::networkStateChanged):
24150
241512011-01-18  Konstantin Tokarev  <annulen@yandex.ru>
24152
24153        Reviewed by Kent Tamura.
24154
24155        Fixed compilation when Inspector is disabled
24156        https://bugs.webkit.org/show_bug.cgi?id=52564
24157
24158        * page/Page.cpp:
24159        (WebCore::networkStateChanged): Added ENABLE(INSPECTOR) guard
24160
241612011-01-18  MORITA Hajime  <morrita@google.com>
24162
24163        Unreviewed, rolling out r76004, r76005, r76007, and r76011.
24164        http://trac.webkit.org/changeset/76004
24165        http://trac.webkit.org/changeset/76005
24166        http://trac.webkit.org/changeset/76007
24167        http://trac.webkit.org/changeset/76011
24168        https://bugs.webkit.org/show_bug.cgi?id=51664
24169
24170        The r76004 broke pixel tests.
24171        (The failure was missed due to the tolerance.)
24172
24173        * Android.mk:
24174        * CMakeLists.txt:
24175        * GNUmakefile.am:
24176        * WebCore.gypi:
24177        * WebCore.pro:
24178        * WebCore.vcproj/WebCore.vcproj:
24179        * WebCore.xcodeproj/project.pbxproj:
24180        * platform/graphics/GraphicsContext.cpp:
24181        (WebCore::GraphicsContext::addRoundedRectClip):
24182        (WebCore::GraphicsContext::clipOutRoundedRect):
24183        * platform/graphics/GraphicsContext.h:
24184        * platform/graphics/RoundedIntRect.cpp: Removed.
24185        * platform/graphics/RoundedIntRect.h: Removed.
24186        * rendering/RenderBox.cpp:
24187        (WebCore::RenderBox::pushContentsClip):
24188        * rendering/RenderBoxModelObject.cpp:
24189        (WebCore::RenderBoxModelObject::paintFillLayerExtended):
24190        (WebCore::RenderBoxModelObject::paintBorder):
24191        (WebCore::RenderBoxModelObject::clipBorderSidePolygon):
24192        (WebCore::uniformlyExpandBorderRadii):
24193        (WebCore::RenderBoxModelObject::paintBoxShadow):
24194        * rendering/RenderBoxModelObject.h:
24195        * rendering/RenderObject.cpp:
24196        (WebCore::RenderObject::drawBoxSideFromPath):
24197        * rendering/RenderReplaced.cpp:
24198        (WebCore::RenderReplaced::paint):
24199        * rendering/RenderThemeChromiumWin.cpp:
24200        (WebCore::RenderThemeChromiumWin::paintTextFieldInternal):
24201        * rendering/RenderThemeMac.mm:
24202        (WebCore::RenderThemeMac::paintMenuListButtonGradients):
24203        (WebCore::RenderThemeMac::paintSliderTrack):
24204        * rendering/RenderThemeSafari.cpp:
24205        (WebCore::RenderThemeSafari::paintMenuListButtonGradients):
24206        (WebCore::RenderThemeSafari::paintSliderTrack):
24207        * rendering/RenderThemeWinCE.cpp:
24208        (WebCore::RenderThemeWinCE::paintSearchFieldCancelButton):
24209        * rendering/RenderWidget.cpp:
24210        (WebCore::RenderWidget::paint):
24211        * rendering/style/BorderData.h:
24212        * rendering/style/RenderStyle.cpp:
24213        (WebCore::constrainCornerRadiiForRect):
24214        (WebCore::RenderStyle::getBorderRadiiForRect):
24215        (WebCore::RenderStyle::getInnerBorderRadiiForRectWithBorderWidths):
24216        * rendering/style/RenderStyle.h:
24217
242182011-01-17  Pavel Podivilov  <podivilov@chromium.org>
24219
24220        Reviewed by Yury Semikhatsky.
24221
24222        Web Inspector: add source column field to debugger call frames.
24223        https://bugs.webkit.org/show_bug.cgi?id=52443
24224
24225        * bindings/js/JavaScriptCallFrame.cpp:
24226        (WebCore::JavaScriptCallFrame::JavaScriptCallFrame):
24227        * bindings/js/JavaScriptCallFrame.h:
24228        (WebCore::JavaScriptCallFrame::create):
24229        (WebCore::JavaScriptCallFrame::line):
24230        (WebCore::JavaScriptCallFrame::column):
24231        (WebCore::JavaScriptCallFrame::update):
24232        * bindings/js/ScriptDebugServer.cpp:
24233        (WebCore::ScriptDebugServer::createCallFrameAndPauseIfNeeded):
24234        (WebCore::ScriptDebugServer::updateCallFrameAndPauseIfNeeded):
24235        (WebCore::ScriptDebugServer::callEvent):
24236        (WebCore::ScriptDebugServer::atStatement):
24237        (WebCore::ScriptDebugServer::returnEvent):
24238        (WebCore::ScriptDebugServer::exception):
24239        (WebCore::ScriptDebugServer::willExecuteProgram):
24240        (WebCore::ScriptDebugServer::didExecuteProgram):
24241        (WebCore::ScriptDebugServer::didReachBreakpoint):
24242        * bindings/js/ScriptDebugServer.h:
24243        * bindings/v8/DebuggerScript.js:
24244        ():
24245        * bindings/v8/JavaScriptCallFrame.cpp:
24246        (WebCore::JavaScriptCallFrame::column):
24247        * bindings/v8/JavaScriptCallFrame.h:
24248        * inspector/InjectedScriptSource.js:
24249        ():
24250        * inspector/JavaScriptCallFrame.idl:
24251
242522011-01-18  Antti Koivisto  <antti@apple.com>
24253
24254        Reviewed by Dave Hyatt.
24255
24256        https://bugs.webkit.org/show_bug.cgi?id=52370
24257        <rdar://problem/8856808>
24258        Style sharing optimization no longer works on major web sites
24259        
24260        The code in CSSStyleSelector::locateSharedStyle() that tries to share style information between element has been defeated 
24261        by widespread use of certain CSS selectors (:first-child pseudo class and similar). The current implementation disables
24262        the sharing optimization for the whole page if one of these constructs is seen in any style sheet used by the page.  
24263        
24264        This patch gets the style sharing back to 25-40% range on most web sites.
24265
24266        * css/CSSMutableStyleDeclaration.h:
24267        (WebCore::CSSMutableStyleDeclaration::propertiesEqual):
24268            
24269            Needed to improve equality checking in NamedNodeMap::mappedMapsEquivalent.
24270        
24271        * css/CSSSelector.h:
24272        (WebCore::CSSSelector::isSiblingSelector):
24273        
24274            Test for selectors that are affected by the sibling elements.
24275        
24276        * css/CSSStyleSelector.cpp:
24277        (WebCore::elementCanUseSimpleDefaultStyle):
24278        (WebCore::collectSiblingRulesInDefaultStyle):
24279        (WebCore::assertNoSiblingRulesInDefaultStyle):
24280            
24281            Extract sibling rules from the MathML default stylesheet. 
24282            Assert that no other default stylesheet has them.
24283            
24284        (WebCore::CSSStyleSelector::CSSStyleSelector):
24285        (WebCore::CSSStyleSelector::locateCousinList):
24286        (WebCore::CSSStyleSelector::matchesSiblingRules):
24287        (WebCore::CSSStyleSelector::canShareStyleWithElement):
24288        (WebCore::CSSStyleSelector::locateSharedStyle):
24289        (WebCore::CSSStyleSelector::styleForElement):
24290        (WebCore::collectIdsAndSiblingRulesFromList):
24291        (WebCore::CSSRuleSet::collectIdsAndSiblingRules):
24292
24293            Track sibling rules and ids used in the stylesheets to allow much more fine-grained rejection of cases
24294            where style sharing can't be used.
24295
24296        * css/CSSStyleSelector.h:
24297        * dom/NamedNodeMap.cpp:
24298        (WebCore::NamedNodeMap::mappedMapsEquivalent):
24299            
24300            Check also for CSSValue mutation from DOM. 
24301            
24302        * mathml/MathMLMathElement.cpp:
24303        (WebCore::MathMLMathElement::insertedIntoDocument):
24304        * mathml/MathMLMathElement.h:
24305        
24306            MathML default style sheet has sibling rules which don't get noticed by the normal document
24307            stylesheet parsing.
24308        
24309        * rendering/style/RenderStyle.h:
24310        (WebCore::InheritedFlags::setFirstChildState):
24311        (WebCore::InheritedFlags::setLastChildState):
24312        (WebCore::InheritedFlags::setChildIndex):
24313        
24314            These all make style non-shareable (unique).
24315
243162011-01-18  MORITA Hajime  <morrita@google.com>
24317
24318        Unreviewed crash fix on release builds.
24319
24320        * rendering/RenderBoxModelObject.cpp:
24321        (WebCore::RenderBoxModelObject::paintFillLayerExtended):
24322
243232011-01-18  Pavel Podivilov  <podivilov@chromium.org>
24324
24325        Unreviewed, update localizedStrings.js.
24326
24327        * English.lproj/localizedStrings.js:
24328
243292011-01-11  Pavel Podivilov  <podivilov@chromium.org>
24330
24331        Reviewed by Pavel Feldman.
24332
24333        Web Inspector: implement script beautifier prototype.
24334        https://bugs.webkit.org/show_bug.cgi?id=51588
24335
24336        * WebCore.gypi:
24337        * WebCore.vcproj/WebCore.vcproj:
24338        * inspector/front-end/ScriptFormatter.js: Added.
24339        (WebInspector.ScriptFormatter): Implements JavaScript source beautification and conversion between original and
24340        formatted line numbers
24341        (WebInspector.ScriptFormatter.findLineEndings):
24342        (WebInspector.ScriptFormatter.locationToPosition):
24343        (WebInspector.ScriptFormatter.positionToLocation):
24344        (WebInspector.ScriptFormatter.upperBound):
24345        (WebInspector.ScriptFormatter.prototype.format):
24346        (WebInspector.ScriptFormatter.prototype.originalLineNumberToFormattedLineNumber):
24347        (WebInspector.ScriptFormatter.prototype.formattedLineNumberToOriginalLineNumber):
24348        (WebInspector.ScriptFormatter.prototype.originalPositionToFormattedLineNumber):
24349        (WebInspector.ScriptFormatter.prototype.formattedLineNumberToOriginalPosition):
24350        (WebInspector.ScriptFormatter.prototype._convertPosition):
24351        * inspector/front-end/ScriptsPanel.js:
24352        (WebInspector.ScriptsPanel):
24353        (WebInspector.ScriptsPanel.prototype._clearCurrentExecutionLine):
24354        (WebInspector.ScriptsPanel.prototype._callFrameSelected):
24355        (WebInspector.ScriptsPanel.prototype._formatScript):
24356        * inspector/front-end/SourceFrame.js: Convert original line numbers to UI line numbers and vice versa
24357        * inspector/front-end/WebKit.qrc:
24358        * inspector/front-end/inspector.html:
24359
243602011-01-18  Philippe Normand  <pnormand@igalia.com>
24361
24362        Unreviewed, GTK build fix as follow-up of r76004.
24363
24364        * GNUmakefile.am: Include RoundedIntRect files in the build
24365
243662011-01-18  Philippe Normand  <pnormand@igalia.com>
24367
24368        Unreviewed, rolling out r76002.
24369        http://trac.webkit.org/changeset/76002
24370        https://bugs.webkit.org/show_bug.cgi?id=49790
24371
24372        breaks a bunch of fast/forms tests on mac and GTK
24373
24374        * html/HTMLOptionElement.cpp:
24375        (WebCore::HTMLOptionElement::setRenderStyle):
24376
243772011-01-18 MORITA Hajime <morrita@google.com>
24378
24379        Unreviewed windows build fix.
24380
24381        * WebCore.vcproj/WebCore.vcproj:
24382
243832011-01-17  MORITA Hajime  <morrita@google.com>
24384
24385        Reviewed by Simon Fraser.
24386
24387        Refactoring: Extract RoundedIntRect class
24388        https://bugs.webkit.org/show_bug.cgi?id=51664
24389
24390        RoundedIntRect is a pair of rect and four IntSize objects which represent
24391        corner radii of the rectangle. IntSize is grouped into RoundedIntRect::Radii.
24392        Now RenderStyle::getRoundedBorderFor() and RenderStyle::getRoundedInnerBorderWithBorderWidths()
24393        return RoundedIntRect and GraphicsContext::addRoundedRectClip(), GraphicsContext::fillRoundedRect()
24394        and other functions accept RoundedIntRect as an argument.
24395
24396        No new tests. No behavioral change.
24397
24398        * Android.mk:
24399        * CMakeLists.txt:
24400        * WebCore.gypi:
24401        * WebCore.pro:
24402        * WebCore.xcodeproj/project.pbxproj:
24403        * platform/graphics/GraphicsContext.cpp:
24404        (WebCore::GraphicsContext::addRoundedRectClip):
24405        (WebCore::GraphicsContext::clipOutRoundedRect):
24406        (WebCore::GraphicsContext::fillRoundedRect):
24407        * platform/graphics/GraphicsContext.h:
24408        * platform/graphics/RoundedIntRect.cpp: Added.
24409        (WebCore::RoundedIntRect::Radii::isZero):
24410        (WebCore::RoundedIntRect::Radii::scale):
24411        (WebCore::RoundedIntRect::Radii::expand):
24412        (WebCore::RoundedIntRect::Radii::includeLogicalEdges):
24413        (WebCore::RoundedIntRect::Radii::excludeLogicalEdges):
24414        (WebCore::RoundedIntRect::RoundedIntRect):
24415        (WebCore::RoundedIntRect::includeLogicalEdges):
24416        (WebCore::RoundedIntRect::excludeLogicalEdges):
24417        * platform/graphics/RoundedIntRect.h: Added.
24418        (WebCore::RoundedIntRect::Radii::Radii):
24419        (WebCore::RoundedIntRect::Radii::setTopLeft):
24420        (WebCore::RoundedIntRect::Radii::setTopRight):
24421        (WebCore::RoundedIntRect::Radii::setBottomLeft):
24422        (WebCore::RoundedIntRect::Radii::setBottomRight):
24423        (WebCore::RoundedIntRect::Radii::topLeft):
24424        (WebCore::RoundedIntRect::Radii::topRight):
24425        (WebCore::RoundedIntRect::Radii::bottomLeft):
24426        (WebCore::RoundedIntRect::Radii::bottomRight):
24427        (WebCore::RoundedIntRect::Radii::expand):
24428        (WebCore::RoundedIntRect::Radii::shrink):
24429        (WebCore::RoundedIntRect::location):
24430        (WebCore::RoundedIntRect::size):
24431        (WebCore::RoundedIntRect::x):
24432        (WebCore::RoundedIntRect::y):
24433        (WebCore::RoundedIntRect::width):
24434        (WebCore::RoundedIntRect::height):
24435        (WebCore::RoundedIntRect::right):
24436        (WebCore::RoundedIntRect::bottom):
24437        (WebCore::RoundedIntRect::rect):
24438        (WebCore::RoundedIntRect::radii):
24439        (WebCore::RoundedIntRect::isRounded):
24440        (WebCore::RoundedIntRect::isEmpty):
24441        (WebCore::RoundedIntRect::setRect):
24442        (WebCore::RoundedIntRect::setRadii):
24443        (WebCore::RoundedIntRect::move):
24444        (WebCore::RoundedIntRect::inflate):
24445        (WebCore::RoundedIntRect::inflateWithRadii):
24446        (WebCore::RoundedIntRect::expandRadii):
24447        (WebCore::RoundedIntRect::shrinkRadii):
24448        * rendering/RenderBox.cpp:
24449        (WebCore::RenderBox::pushContentsClip):
24450        * rendering/RenderBoxModelObject.cpp:
24451        (WebCore::RenderBoxModelObject::paintFillLayerExtended):
24452        (WebCore::RenderBoxModelObject::paintBorder):
24453        (WebCore::RenderBoxModelObject::clipBorderSidePolygon):
24454        (WebCore::RenderBoxModelObject::paintBoxShadow):
24455        * rendering/RenderBoxModelObject.h:
24456        * rendering/RenderObject.cpp:
24457        (WebCore::RenderObject::drawBoxSideFromPath):
24458        * rendering/RenderReplaced.cpp:
24459        (WebCore::RenderReplaced::paint):
24460        * rendering/RenderThemeChromiumWin.cpp:
24461        (WebCore::RenderThemeChromiumWin::paintTextFieldInternal):
24462        * rendering/RenderThemeMac.mm:
24463        (WebCore::RenderThemeMac::paintMenuListButtonGradients):
24464        (WebCore::RenderThemeMac::paintSliderTrack):
24465        * rendering/RenderThemeSafari.cpp:
24466        (WebCore::RenderThemeSafari::paintMenuListButtonGradients):
24467        (WebCore::RenderThemeSafari::paintSliderTrack):
24468        * rendering/RenderThemeWinCE.cpp:
24469        (WebCore::RenderThemeWinCE::paintSearchFieldCancelButton):
24470        * rendering/RenderWidget.cpp:
24471        (WebCore::RenderWidget::paint):
24472        * rendering/style/BorderData.h:
24473        * rendering/style/RenderStyle.cpp:
24474        (WebCore::calcRadiiFor):
24475        (WebCore::calcConstraintScaleFor):
24476        (WebCore::RenderStyle::getRoundedBorderFor):
24477        (WebCore::RenderStyle::getRoundedInnerBorderWithBorderWidths):
24478        * rendering/style/RenderStyle.h:
24479        (WebCore::InheritedFlags::setBorderRadius):
24480
244812011-01-17  Rob Buis  <rwlbuis@gmail.com>
24482
24483        Reviewed by Kent Tamura.
24484
24485        Color changes to option elements in a select multiple aren't drawn immediately
24486        https://bugs.webkit.org/show_bug.cgi?id=49790
24487
24488        Redirect style changes on <option> element to the owner <select> element.
24489
24490        Tests: fast/forms/select-option-background-color-change.html
24491               fast/forms/select-option-color-change.html
24492               fast/forms/select-option-visibility-change.html
24493
24494        * html/HTMLOptionElement.cpp:
24495        (WebCore::HTMLOptionElement::setRenderStyle):
24496
244972011-01-17  MORITA Hajime  <morrita@google.com>
24498
24499        Unreviewed, rolling out r75995.
24500        http://trac.webkit.org/changeset/75995
24501        https://bugs.webkit.org/show_bug.cgi?id=51914
24502
24503        Causes assertion failures.
24504
24505        * dom/Element.cpp:
24506        (WebCore::Element::shadowRoot):
24507        (WebCore::Element::setShadowRoot):
24508        (WebCore::Element::removeShadowRoot):
24509        * dom/ElementRareData.h:
24510        (WebCore::ElementRareData::ElementRareData):
24511
245122011-01-17  MORITA Hajime  <morrita@google.com>
24513
24514        Unreviewed, rolling out r75999.
24515        http://trac.webkit.org/changeset/75999
24516
24517        * dom/Element.cpp:
24518        (WebCore::Element::removeShadowRoot):
24519
245202011-01-17 MORITA Hajime  <morrita@google.com>
24521
24522        Unreviewed crash fix, which introduced at r75995
24523
24524        * dom/Element.cpp:
24525        (WebCore::Element::removeShadowRoot):
24526
245272011-01-17  MORITA Hajime  <morrita@google.com>
24528
24529        Reviewed by Dimitri Glazkov.
24530
24531        ElementRareData::m_shadowRoot should not be RefPtr.
24532        https://bugs.webkit.org/show_bug.cgi?id=51914
24533
24534        This change makes m_shadowRoot a raw pointer, as Node::m_parent is.
24535        This change is safe because shadow host pointer is stored as TreeShared::m_parent
24536        which prevents deletion unless set to null.
24537        
24538        No test, no behavioral change.
24539
24540        * dom/Element.cpp:
24541        (WebCore::Element::shadowRoot):
24542        (WebCore::Element::setShadowRoot):
24543        (WebCore::Element::removeShadowRoot):
24544        * dom/ElementRareData.h:
24545        (WebCore::ElementRareData::ElementRareData):
24546
245472011-01-17  Maciej Stachowiak  <mjs@apple.com>
24548
24549        Reviewed by Dan Bernstein.
24550
24551        Some WebKit2 layout tests crash due to focus being on a frame in the page cache
24552        https://bugs.webkit.org/show_bug.cgi?id=52607
24553
24554        No new tests. Existing tests crash in WebKit2 without this fix.
24555        
24556        I suspect there are other consequences besides the WebKit2 crash, but I
24557        was unable to identify any for certain.
24558
24559        * history/CachedFrame.cpp:
24560        (WebCore::CachedFrame::CachedFrame): If a frame still has focus when its page
24561        goes in the page cache, reset focus to the main frame.
24562
245632011-01-17  Adam Roben  <aroben@apple.com>
24564
24565        Simplify WKCACFLayerRenderer's API
24566
24567        createRenderer/destroyRenderer are now hidden behind setHostWindow.
24568        WKCACFLayerRendererClient::animationsStarted has been removed, as it
24569        was never called. (The work it was supposed to do was already being
24570        accomplished by WKCACFLayerRenderer::render telling each layer that
24571        animations are starting.)
24572
24573        Fixes <http://webkit.org/b/52587> WKCACFLayerRenderer is hard to use
24574
24575        Reviewed by Chris Marrin.
24576
24577        * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp:
24578        (WebCore::MediaPlayerPrivateFullscreenWindow::createWindow): Moved the
24579        call to setHostWindow here from the WM_CREATE handler. The WM_CREATE
24580        handler was causing the Direct3D device to be created, but MSDN says
24581        you shouldn't create a device while handling WM_CREATE. Removed
24582        no-longer-needed call to createRenderer (setHostWindow does this now)
24583        and the never-needed call to setNeedsDisplay (we never draw into the
24584        root layer; this was just creating an unnecessary backing store the
24585        size of the screen!).
24586        (WebCore::MediaPlayerPrivateFullscreenWindow::wndProc): Moved WM_CREATE
24587        code, as described above. Removed call to destroyRenderer when handling
24588        WM_DESTROY; setHostWindow does this now. Fixed up our WM_PAINT handler
24589        to do a synchronous paint and to clear our dirty region, while I was in
24590        here.
24591
24592        * platform/graphics/win/WKCACFLayerRenderer.cpp:
24593        (WebCore::WKCACFLayerRenderer::~WKCACFLayerRenderer): Changed to call
24594        setHostWindow instead of destroyRenderer; the former calls the latter
24595        if needed.
24596        (WebCore::WKCACFLayerRenderer::setHostWindow): Moved here from the
24597        header file. Destroys our old renderer (i.e., IDirect3DDevice9) if
24598        we're losing our window, or creates a renderer if we're gaining a
24599        window.
24600        (WebCore::WKCACFLayerRenderer::createRenderer): Updated for WKSI function rename.
24601        (WebCore::WKCACFLayerRenderer::destroyRenderer): Changed to clear the
24602        D3D device from our context before releasing the device.
24603
24604        * platform/graphics/win/WKCACFLayerRenderer.h: Removed
24605        WKCACFLayerRendererClient::animationsStarted. Removed setNeedsDisplay.
24606        Make createRenderer, destroyRenderer, and renderSoon private.
24607
246082011-01-17  Adam Roben  <aroben@apple.com>
24609
24610        Remove special-cased support for providing content for the root layer
24611
24612        Clients will just have to provide content through the normal
24613        GraphicsLayer channels now!
24614
24615        Support for <http://webkit.org/b/52582> WebView should paint directly
24616        into a GraphicsLayer when in accelerated compositing mode
24617
24618        Reviewed by Simon Fraser and Chris Marrin.
24619
24620        * platform/graphics/win/WKCACFLayerRenderer.cpp:
24621        (WebCore::WKCACFLayerRenderer::WKCACFLayerRenderer): Removed
24622        initialization of m_backingStoreDirty, which has itself been removed.
24623        (WebCore::WKCACFLayerRenderer::setNeedsDisplay): Moved code to schedule
24624        a sync from here to syncCompositingStateSoon. We only need to call
24625        renderSoon if we don't call syncCompositingStateSoon; the latter
24626        function calls the former.
24627        (WebCore::WKCACFLayerRenderer::paint): Removed code to handle
24628        m_backingStoreDirty. We don't want to know anything about clients'
24629        backing stores.
24630        (WebCore::WKCACFLayerRenderer::syncCompositingStateSoon): Added. Code
24631        came from setNeedsDisplay.
24632
24633        * platform/graphics/win/WKCACFLayerRenderer.h:
24634        Removed setRootContents[AndDisplay], setBackingStoreDirty, and
24635        m_backingStoreDirty. Made paint() public so that clients can force a
24636        synchronous render (e.g., when handling WM_PAINT).
24637
246382011-01-17  Adam Roben  <aroben@apple.com>
24639
24640        Remove contexts from WKCACFContextFlusher before destroying them
24641
24642        We aren't really using WKCACFContextFlusher for anything useful at the
24643        moment, but that will probably change in the near future.
24644
24645        I couldn't come up with a way to test this because it isn't possible to
24646        resize a window in DumpRenderTree.
24647
24648        Fixes <http://webkit.org/b/52573> REGRESSION (r75262): Crash beneath
24649        WKCACFContextFlusher::flushAllContexts when resizing window on page
24650        that uses accelerated compositing
24651
24652        Reviewed by Simon Fraser.
24653
24654        * platform/graphics/win/WKCACFLayerRenderer.cpp:
24655        (WebCore::WKCACFLayerRenderer::~WKCACFLayerRenderer): Remove our
24656        context from WKCACFContextFlusher. (This code was erroneously removed
24657        from WKCACFLayerRenderer::destroyRenderer in r75262. This is a more
24658        sensible place for it.)
24659
246602011-01-17  Adam Roben  <aroben@apple.com>
24661
24662        Don't access the CACFLayerRef's sublayers directly from PlatformCALayer
24663
24664        There might be a secret extra sublayer (the tile parent layer) that
24665        PlatformCALayer doesn't know about. When PlatformCALayer would
24666        encounter this, it would try to use the tile parent layer's
24667        PlatformCALayer wrapper, which was null, and then would crash. We now
24668        ask PlatformCALayerWinInternal for the sublayer list, since that class
24669        knows about the tile parent layer and can exclude it from the sublayer
24670        list.
24671
24672        Covered by compositing/tiling/huge-layer-resize.html.
24673
24674        Fixes <http://webkit.org/b/52597> Crash beneath
24675        PlatformCALayer::adoptSublayers when switching out of tiling mode
24676        (null-dereference of a PlatformCALayer)
24677
24678        Reviewed by Darin Adler and Chris Marrin.
24679
24680        * platform/graphics/ca/win/PlatformCALayerWin.cpp:
24681        (PlatformCALayer::adoptSublayers):
24682        (printLayer):
24683        Changed to use PlatformCALayerWinInternal::getSublayers.
24684
24685        * platform/graphics/ca/win/PlatformCALayerWinInternal.cpp:
24686        (PlatformCALayerWinInternal::getSublayers): Added. Retrieves the list
24687        of PlatformCALayers that represent our sublayers. Significantly, this
24688        code knows about the tile parent layer and can thus exclude it.
24689
24690        * platform/graphics/ca/win/PlatformCALayerWinInternal.h: Added
24691        getSublayers.
24692
246932011-01-17  Naoki Takano  <takano.naoki@gmail.com>
24694
24695        Reviewed by Kent Tamura.
24696
24697        [Chromium] Fix popup menu re-positioning when the menu is opened upward, above the corresponding form field.
24698        https://bugs.webkit.org/show_bug.cgi?id=51382
24699        http://crbug.com/60427
24700
24701        Calculate correct location of popup window whenever the items in the window change.
24702
24703        No new tests, because this fix is for Chromium project and hard to test only in WebKit project
24704
24705        * platform/chromium/PopupMenuChromium.cpp:
24706        (WebCore::PopupContainer::layoutAndCalculateWidgetRect): New Function to layout and calculate popup widget rect.
24707        (WebCore::PopupContainer::showPopup): Move widgetRect calculation logic to calculateWidgetRect().
24708        (WebCore::PopupContainer::refresh): Add parameter focusRect to take the location and the size of focus text input field to calculate correct popup window location.
24709        * platform/chromium/PopupMenuChromium.h: Append new input parameter for refresh().
24710
247112011-01-17  Mark Rowe  <mrowe@apple.com>
24712
24713        Fix the 32-bit build.
24714
24715        * WebCore.exp.in:
24716
247172011-01-17  Dan Bernstein  <mitz@apple.com>
24718
24719        Reviewed by Darin Adler.
24720
24721        Use of invalid hash map key in CSSFontFaceSource::getFontData() with 0-sized remote font
24722        https://bugs.webkit.org/show_bug.cgi?id=52598
24723
24724        Test: fast/css/font-face-zero-hash-key.html
24725
24726        * css/CSSFontFaceSource.cpp:
24727        (WebCore::CSSFontFaceSource::getFontData): Add 1 to the font size to avoid a 0 hash key.
24728        * css/CSSSegmentedFontFace.cpp:
24729        (WebCore::CSSSegmentedFontFace::getFontData): Ditto.
24730
247312011-01-17  David Kilzer  <ddkilzer@apple.com>
24732
24733        <http://webkit.org/b/52596> Add missing DOMDocument/DOMDocumentFragment headers to Xcode project
24734
24735        Reviewed by Dan Bernstein.
24736
24737        This fixes two issues:
24738
24739        Add missing DOMDocumentFragmentPrivate.h and
24740        DOMDocumentPrivate.h files to the project.  These files were
24741        never added to the the project although their *Internal.h
24742        counterparts were added in r16548 and r17390.
24743
24744        Add missing DOMDocumentFragmentInternal.h to the Headers
24745        section.  It was moved from Headers to "Copy Generated Headers"
24746        in r31045, but it should have an entry in both sections.
24747
24748        * WebCore.xcodeproj/project.pbxproj:
24749
247502011-01-17  Helder Correia  <helder@sencha.com>
24751
24752        Reviewed by Andreas Kling.
24753
24754        [Qt] Incorrect shadow alpha with pattern fillStyle
24755        https://bugs.webkit.org/show_bug.cgi?id=52559
24756
24757        The shadow color opacity needs to be set on the shadow painter.
24758        This is related to bug 52556.
24759
24760        Test: fast/canvas/canvas-fillPath-pattern-shadow.html
24761
24762        * platform/graphics/qt/GraphicsContextQt.cpp:
24763        (WebCore::GraphicsContext::fillPath):
24764
247652011-01-17  Martin Robinson  <mrobinson@igalia.com>
24766
24767        Reviewed by Andreas Kling.
24768
24769        [GTK] Port a crash fix from libsoup upstream to the libsoup cache code
24770        https://bugs.webkit.org/show_bug.cgi?id=52586
24771
24772        No new tests. This is just a merge from upstream.
24773
24774        * platform/network/soup/cache/soup-http-input-stream.c:
24775        (webkit_soup_http_input_stream_got_chunk): Properly handle unsigned numbers.
24776
247772011-01-17  Tony Gentilcore  <tonyg@chromium.org>
24778
24779        Reviewed by Alexey Proskuryakov.
24780
24781        Fix some headers with missing or misspelled #ifndef guards
24782        https://bugs.webkit.org/show_bug.cgi?id=52545
24783
24784        No new tests because no new functionality.
24785
24786        * ForwardingHeaders/runtime/InitializeThreading.h:
24787        * editing/SmartReplace.h:
24788        * loader/CrossOriginAccessControl.h:
24789        * loader/NetscapePlugInStreamLoader.h:
24790        * platform/chromium/ClipboardUtilitiesChromium.h:
24791        * platform/graphics/cairo/DrawErrorUnderline.h:
24792        * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
24793        * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
24794        * platform/graphics/cg/PDFDocumentImage.h:
24795        * platform/win/WebCoreTextRenderer.h:
24796
247972011-01-17  Pavel Feldman  <pfeldman@chromium.org>
24798
24799        Not reviewed: follow-up fix for r52574: do not reuse clear() for navigation.
24800
24801        * inspector/front-end/NetworkPanel.js:
24802        (WebInspector.NetworkPanel.prototype.clear):
24803        (WebInspector.NetworkPanel.prototype.mainResourceChanged):
24804
248052011-01-17  Sergio Villar Senin  <svillar@igalia.com>
24806
24807        Reviewed by Martin Robinson.
24808
24809        [Gtk] No need to content sniff 304 Not Modified responses
24810        https://bugs.webkit.org/show_bug.cgi?id=52570
24811
24812        Makes no sense to wait for the outcome of content sniffing when WebCore
24813        is validating resources. If we get a 304 Not Modified it means that we can
24814        safely use the cached version of the resource we're asking for.
24815
24816        No new tests because it does not change functionality, it just
24817        calls didReceiveResponse sooner for 304 Not Modified responses.
24818
24819        * platform/network/soup/ResourceHandleSoup.cpp:
24820        (WebCore::gotHeadersCallback):
24821
248222011-01-17  Jessie Berlin  <jberlin@apple.com>
24823
24824        Reviewed by Anders Carlsson.
24825
24826        REGRESSION: Assertion failure in FrameLoader::continueLoadAfterWillSubmitForm() when
24827        navigating back to an unreachable URL
24828        https://bugs.webkit.org/show_bug.cgi?id=52388
24829
24830        Test: http/tests/navigation/go-back-to-error-page.html
24831
24832        * history/PageCache.cpp:
24833        (WebCore::PageCache::canCachePageContainingThisFrame):
24834        Do not cache any error pages (which we can recognize as having substitute data and/or an
24835        unreachableURL).
24836
248372011-01-17  Pavel Feldman  <pfeldman@chromium.org>
24838
24839        Not reviewed: fixing typo in r75952.
24840
24841        * inspector/front-end/NetworkPanel.js:
24842        (WebInspector.NetworkDataGridNode.prototype._refreshNameCell):
24843
248442011-01-17  Enrica Casucci  <enrica@apple.com>
24845
24846        Reviewed by Alexey Proskuryakov.
24847
24848        Drag and drop support: refactoring of image from link and image from selection
24849        https://bugs.webkit.org/show_bug.cgi?id=52496
24850
24851        This work cleans up the Mac code and makes it more similar to the Windows implementation,
24852        avoiding the use of an NSView when the FrameView can be used.
24853        The refactoring is a necessary step towards the complete support of drag and drop
24854        in WebKit2.
24855        
24856        * page/mac/FrameMac.mm:
24857        (WebCore::Frame::imageFromRect): Modified to use FrameView instead of NSView
24858        to generate the image for drag.
24859
248602011-01-17  Dan Bernstein  <mitz@apple.com>
24861
24862        Rubber-stamped by Mark Rowe.
24863
24864        Update xcodeproj svn:ignore to include xcuserdata.
24865
24866        * WebCore.xcodeproj: Modified property svn:ignore.
24867        * manual-tests/NPN_Invoke/NPN_Invoke.xcodeproj: Modified property svn:ignore.
24868
248692011-01-17  Alexey Proskuryakov  <ap@apple.com>
24870
24871        Leopard build fix.
24872
24873        * page/PrintContext.cpp: GCC complained about shortening a double value to float.
24874
248752011-01-17  Alexey Proskuryakov  <ap@apple.com>
24876
24877        Reviewed by Dan Bernstein.
24878
24879        https://bugs.webkit.org/show_bug.cgi?id=52495
24880
24881        No change in behavior, so no tests.
24882
24883        * WebCore.exp.in: Export additional methods, as I'm going to use more code from PrintContext.
24884
24885        * page/PrintContext.cpp:
24886        (WebCore::PrintContext::~PrintContext): No need to clear m_pageRects, the object is being
24887        destroyed already.
24888        (WebCore::PrintContext::pageCount): Changed page count from int to size_t.
24889        (WebCore::PrintContext::pageRect): Ditto.
24890        (WebCore::PrintContext::computePageRects): Pass allowHorizontalTiling as an argument.
24891        PrintContext already has code to calculate scale factor, so it makes sense to make methods
24892        that contain it universal (allowHorizontalTiling is always true for Safari).
24893        Round page height to an integer, because Mac code does that, and because page height is
24894        treated as integer almost everywhere else in code.
24895        (WebCore::PrintContext::begin): Allow calling this function multiple times. There is no need
24896        to return to screen mode if e.g. "print backgounds" option changes.
24897        (WebCore::PrintContext::computeAutomaticScaleFactor): Expose scale factor computation, so
24898        that clients don't have to copy it.
24899        (WebCore::PrintContext::spoolRect): Add a way to spool a precomputed rect - handy if a request
24900        comes from code that doesn't have page number.
24901        (WebCore::PrintContext::pageNumberForElement): Page number int -> size_t.
24902
24903        * page/PrintContext.h: Added comments and FIXMEs. PrintContext needs cleanup, but that
24904        depends on deciding how it really needs to work (e.g. whether computePageRects() should
24905        cause relayout).
24906
249072011-01-17  Pavel Feldman  <pfeldman@chromium.org>
24908
24909        Reviewed by Yury Semikhatsky.
24910
24911        Web Inspector: unify image data source assignment, add image url
24912        to the image view properties list.
24913        https://bugs.webkit.org/show_bug.cgi?id=52584
24914
24915        * English.lproj/localizedStrings.js:
24916        * inspector/front-end/ImageView.js:
24917        (WebInspector.ImageView.prototype._createContentIfNeeded.onImageLoad):
24918        (WebInspector.ImageView.prototype._createContentIfNeeded):
24919        * inspector/front-end/NetworkPanel.js:
24920        (WebInspector.NetworkDataGridNode.prototype._refreshNameCell):
24921        * inspector/front-end/Resource.js:
24922        (WebInspector.Resource.prototype.populateImageSource):
24923        (WebInspector.Resource.prototype._contentURL):
24924        * inspector/front-end/ResourcesPanel.js:
24925        (WebInspector.FrameResourceTreeElement.prototype.onattach):
24926
249272011-01-17  Andrey Kosyakov  <caseq@chromium.org>
24928
24929        Reviewed by Pavel Feldman.
24930
24931        Web Inspector: [Extensions API] webInspector.resources.onFinished is not fired for redirected resources
24932        Make resource start/finish hanlding more consistent.
24933        https://bugs.webkit.org/show_bug.cgi?id=52452
24934
24935        * inspector/front-end/AuditLauncherView.js: Ignore WebSocket resources when displaying progress indicator
24936        (WebInspector.AuditLauncherView.prototype._resetResourceCount):
24937        (WebInspector.AuditLauncherView.prototype.resourceStarted):
24938        (WebInspector.AuditLauncherView.prototype.resourceFinished):
24939        * inspector/front-end/NetworkManager.js:
24940        (WebInspector.NetworkManager): Factor out resource start/finish logic to _startResource()/_finishResource()
24941        (WebInspector.NetworkManager.prototype.identifierForInitialRequest):
24942        (WebInspector.NetworkManager.prototype.willSendRequest):
24943        (WebInspector.NetworkManager.prototype.markResourceAsCached):
24944        (WebInspector.NetworkManager.prototype.didReceiveResponse):
24945        (WebInspector.NetworkManager.prototype.didReceiveContentLength):
24946        (WebInspector.NetworkManager.prototype.didFinishLoading):
24947        (WebInspector.NetworkManager.prototype.didFailLoading):
24948        (WebInspector.NetworkManager.prototype.didLoadResourceFromMemoryCache):
24949        (WebInspector.NetworkManager.prototype.didCreateWebSocket):
24950        (WebInspector.NetworkManager.prototype.willSendWebSocketHandshakeRequest):
24951        (WebInspector.NetworkManager.prototype.didReceiveWebSocketHandshakeResponse):
24952        (WebInspector.NetworkManager.prototype.didCloseWebSocket):
24953        (WebInspector.NetworkManager.prototype._appendRedirect):
24954        (WebInspector.NetworkManager.prototype._startResource):
24955        (WebInspector.NetworkManager.prototype._finishResource):
24956
249572011-01-17  Pavel Feldman  <pfeldman@chromium.org>
24958
24959        Reviewed by Yury Semikhatsky.
24960
24961        Web Inspector: restore dom and network state upon frontend reuse.
24962        https://bugs.webkit.org/show_bug.cgi?id=52574
24963
24964        * inspector/Inspector.idl:
24965        * inspector/InspectorController.cpp:
24966        (WebCore::InspectorController::restoreInspectorStateFromCookie):
24967        (WebCore::InspectorController::populateScriptObjects):
24968        (WebCore::InspectorController::pushDataCollectedOffline):
24969        (WebCore::InspectorController::didCommitLoad):
24970        * inspector/InspectorController.h:
24971        * inspector/front-end/NetworkManager.js:
24972        (WebInspector.NetworkManager.prototype.reset):
24973        * inspector/front-end/NetworkPanel.js:
24974        (WebInspector.NetworkPanel.prototype.clear):
24975        (WebInspector.NetworkPanel.prototype.mainResourceChanged):
24976        * inspector/front-end/ResourceTreeModel.js:
24977        (WebInspector.ResourceTreeModel):
24978        (WebInspector.ResourceTreeModel.prototype.reloadCachedResources):
24979        * inspector/front-end/ResourcesPanel.js:
24980        (WebInspector.ResourcesPanel.prototype.clear):
24981        * inspector/front-end/inspector.js:
24982        (WebInspector.frontendReused):
24983
249842011-01-17  Csaba Osztrogonác  <ossy@webkit.org>
24985
24986        Unreviewed buildfix after r75944.
24987
24988        * WebCore.pro:
24989
249902011-01-17  Yi Shen  <yi.4.shen@nokia.com>
24991
24992        Reviewed by Andreas Kling.
24993
24994        [Qt] Extend the Platform Plugin to support full screen video handler
24995        https://bugs.webkit.org/show_bug.cgi?id=51249
24996
24997        Make MediaPlayerPrivateQt support a fullscreen player.
24998
24999        No new tests because LayoutTests/media/media-fullscreen-inline.html already exists.
25000        However, this test failed for Qt (QtMediaPlayer) due to durationchange event getting fired twice.
25001        So, still skip it for Qt.
25002
25003        * WebCore.pro:
25004        * features.pri:
25005        * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
25006        (WebCore::MediaPlayerPrivateQt::MediaPlayerPrivateQt):
25007        (WebCore::MediaPlayerPrivateQt::removeVideoItem):
25008        (WebCore::MediaPlayerPrivateQt::restoreVideoItem):
25009        * platform/graphics/qt/MediaPlayerPrivateQt.h:
25010        (WebCore::MediaPlayerPrivateQt::supportsFullscreen):
25011        (WebCore::MediaPlayerPrivateQt::mediaPlayer):
25012
250132011-01-17  Anthony Ricaud  <rik@webkit.org>
25014
25015        Reviewed by Kent Tamura.
25016
25017        [HTML5] Revert display:none on datalist
25018        https://bugs.webkit.org/show_bug.cgi?id=52214
25019
25020        * css/html.css:
25021
250222011-01-17  Pavel Feldman  <pfeldman@chromium.org>
25023
25024        Reviewed by Yury Semikhatsky.
25025
25026        Web Inspector: simplify debugger enabling routine.
25027        https://bugs.webkit.org/show_bug.cgi?id=52472
25028
25029        * inspector/Inspector.idl:
25030        * inspector/InspectorController.cpp:
25031        (WebCore::InspectorController::restoreDebugger):
25032        (WebCore::InspectorController::showAndEnableDebugger):
25033        (WebCore::InspectorController::enableDebugger):
25034        * inspector/InspectorController.h:
25035        * inspector/front-end/DebuggerModel.js:
25036        * inspector/front-end/ScriptsPanel.js:
25037        (WebInspector.ScriptsPanel.prototype.show):
25038        (WebInspector.ScriptsPanel.prototype._toggleDebugging):
25039
250402011-01-17  Pavel Podivilov  <podivilov@chromium.org>
25041
25042        Reviewed by Pavel Feldman.
25043
25044        Web Inspector: refactoring: encapsulate lazy initialization of SourceFrame.
25045        https://bugs.webkit.org/show_bug.cgi?id=51738
25046
25047        Extract content loading logic from SourceView and ScriptView to ContentProvider implementations.
25048        Pass ContentProvider in SourceFrame constructor to allow SourceFrame manage it's lazy initialization.
25049
25050        * inspector/front-end/ScriptView.js:
25051        (WebInspector.ScriptView):
25052        (WebInspector.SourceFrameContentProviderForScript):
25053        (WebInspector.SourceFrameContentProviderForScript.prototype.requestContent.didRequestSource):
25054        (WebInspector.SourceFrameContentProviderForScript.prototype.requestContent):
25055        (WebInspector.SourceFrameContentProviderForScript.prototype.scripts):
25056        * inspector/front-end/ScriptsPanel.js:
25057        (WebInspector.ScriptsPanel.prototype._addScript):
25058        (WebInspector.ScriptsPanel.prototype.sourceFrameForScript):
25059        (WebInspector.ScriptsPanel.prototype._sourceFrameForResource):
25060        * inspector/front-end/SourceFrame.js:
25061        (WebInspector.SourceFrame):
25062        (WebInspector.SourceFrame.prototype.set visible):
25063        (WebInspector.SourceFrame.prototype._createTextViewer):
25064        (WebInspector.SourceFrame.prototype._breakpointAdded):
25065        (WebInspector.SourceFrame.prototype._breakpoints):
25066        (WebInspector.SourceFrame.prototype._sourceIDForLine):
25067        (WebInspector.SourceFrame.prototype._sourceIDSet):
25068        (WebInspector.SourceFrameContentProvider):
25069        (WebInspector.SourceFrameContentProvider.prototype.requestContent):
25070        (WebInspector.SourceFrameContentProvider.prototype.scripts):
25071        * inspector/front-end/SourceView.js:
25072        (WebInspector.SourceView):
25073        (WebInspector.SourceView.prototype.show):
25074        (WebInspector.SourceView.prototype.resize):
25075        (WebInspector.SourceView.prototype.performSearch.didFindSearchMatches):
25076        (WebInspector.SourceView.prototype.performSearch):
25077        (WebInspector.SourceView.prototype.revealLine):
25078        (WebInspector.SourceView.prototype.highlightLine):
25079        (WebInspector.SourceView.prototype._jumpToSearchResult):
25080        (WebInspector.SourceFrameContentProviderForResource):
25081        (WebInspector.SourceFrameContentProviderForResource.prototype.requestContent):
25082        (WebInspector.SourceFrameContentProviderForResource.prototype.scripts):
25083
250842011-01-17  John Knottenbelt  <jknotten@chromium.org>
25085
25086        Reviewed by Jeremy Orlow.
25087
25088        GeolocationController should call stopUpdating on destruction
25089        https://bugs.webkit.org/show_bug.cgi?id=52216
25090
25091        Test: fast/dom/Geolocation/window-close-crash.html
25092
25093        * page/GeolocationController.cpp:
25094        (WebCore::GeolocationController::~GeolocationController):
25095
250962011-01-17  Pavel Feldman  <pfeldman@chromium.org>
25097
25098        Not reviewed: Qt build fix.
25099
25100        * inspector/InspectorInstrumentation.h:
25101
251022011-01-16  Pavel Feldman  <pfeldman@chromium.org>
25103
25104        Reviewed by Yury Semikhatsky.
25105
25106        Web Inspector: make WebCore use InspectorInstrumentation
25107        for instrumentation calls.
25108        https://bugs.webkit.org/show_bug.cgi?id=52532
25109
25110        This change makes WebCore classes issue instrumentation signals
25111        by means of InspectorInstrumentation interface. It covered migration
25112        for Document, FrameLoader, Database, DOMStorage, etc. It fixed
25113        instrumentation handling for Console as well. This all is a part
25114        of story described in the bug 52510.
25115
25116        * dom/Document.cpp:
25117        (WebCore::Document::finishedParsing):
25118        * dom/Document.h:
25119        * dom/ScriptExecutionContext.h:
25120        * inspector/InspectorBrowserDebuggerAgent.cpp:
25121        (WebCore::InspectorBrowserDebuggerAgent::InspectorBrowserDebuggerAgent):
25122        (WebCore::InspectorBrowserDebuggerAgent::setDOMBreakpoint):
25123        (WebCore::InspectorBrowserDebuggerAgent::removeDOMBreakpoint):
25124        (WebCore::InspectorBrowserDebuggerAgent::willInsertDOMNode):
25125        (WebCore::InspectorBrowserDebuggerAgent::willRemoveDOMNode):
25126        (WebCore::InspectorBrowserDebuggerAgent::willModifyDOMAttr):
25127        (WebCore::InspectorBrowserDebuggerAgent::descriptionForDOMEvent):
25128        (WebCore::InspectorBrowserDebuggerAgent::pauseOnNativeEventIfNeeded):
25129        (WebCore::InspectorBrowserDebuggerAgent::willSendXMLHttpRequest):
25130        * inspector/InspectorBrowserDebuggerAgent.h:
25131        (WebCore::InspectorBrowserDebuggerAgent::create):
25132        * inspector/InspectorConsoleAgent.cpp:
25133        (WebCore::InspectorConsoleAgent::stopTiming):
25134        (WebCore::InspectorConsoleAgent::count):
25135        * inspector/InspectorConsoleAgent.h:
25136        * inspector/InspectorController.cpp:
25137        (WebCore::InspectorController::InspectorController):
25138        (WebCore::InspectorController::~InspectorController):
25139        (WebCore::InspectorController::handleMousePress):
25140        (WebCore::InspectorController::didClearWindowObjectInWorld):
25141        (WebCore::PostWorkerNotificationToFrontendTask::performTask):
25142        * inspector/InspectorController.h:
25143        * inspector/InspectorDOMAgent.h:
25144        * inspector/InspectorDOMStorageAgent.h:
25145        * inspector/InspectorDatabaseAgent.cpp:
25146        * inspector/InspectorDatabaseAgent.h:
25147        * inspector/InspectorFrontendHost.cpp:
25148        * inspector/InspectorFrontendHost.h:
25149        * inspector/InspectorInstrumentation.cpp:
25150        (WebCore::InspectorInstrumentation::didClearWindowObjectInWorldImpl):
25151        (WebCore::InspectorInstrumentation::inspectedPageDestroyedImpl):
25152        (WebCore::InspectorInstrumentation::mouseDidMoveOverElementImpl):
25153        (WebCore::InspectorInstrumentation::handleMousePressImpl):
25154        (WebCore::InspectorInstrumentation::mainResourceFiredLoadEventImpl):
25155        (WebCore::InspectorInstrumentation::mainResourceFiredDOMContentEventImpl):
25156        (WebCore::InspectorInstrumentation::frameDetachedFromParentImpl):
25157        (WebCore::InspectorInstrumentation::didCommitLoadImpl):
25158        (WebCore::InspectorInstrumentation::addMessageToConsoleImpl):
25159        (WebCore::InspectorInstrumentation::consoleCountImpl):
25160        (WebCore::InspectorInstrumentation::startConsoleTimingImpl):
25161        (WebCore::InspectorInstrumentation::stopConsoleTimingImpl):
25162        (WebCore::InspectorInstrumentation::consoleMarkTimelineImpl):
25163        (WebCore::InspectorInstrumentation::addStartProfilingMessageToConsoleImpl):
25164        (WebCore::InspectorInstrumentation::didOpenDatabaseImpl):
25165        (WebCore::InspectorInstrumentation::didUseDOMStorageImpl):
25166        (WebCore::InspectorInstrumentation::didCreateWorkerImpl):
25167        (WebCore::InspectorInstrumentation::didDestroyWorkerImpl):
25168        (WebCore::InspectorInstrumentation::didCreateWebSocketImpl):
25169        (WebCore::InspectorInstrumentation::willSendWebSocketHandshakeRequestImpl):
25170        (WebCore::InspectorInstrumentation::didReceiveWebSocketHandshakeResponseImpl):
25171        (WebCore::InspectorInstrumentation::didCloseWebSocketImpl):
25172        (WebCore::InspectorInstrumentation::networkStateChangedImpl):
25173        (WebCore::InspectorInstrumentation::updateApplicationCacheStatusImpl):
25174        * inspector/InspectorInstrumentation.h:
25175        (WebCore::InspectorInstrumentation::inspectorControllerCreated):
25176        (WebCore::InspectorInstrumentation::inspectorControllerDeleted):
25177        (WebCore::InspectorInstrumentation::didClearWindowObjectInWorld):
25178        (WebCore::InspectorInstrumentation::inspectedPageDestroyed):
25179        (WebCore::InspectorInstrumentation::willInsertDOMNode):
25180        (WebCore::InspectorInstrumentation::didInsertDOMNode):
25181        (WebCore::InspectorInstrumentation::willRemoveDOMNode):
25182        (WebCore::InspectorInstrumentation::willModifyDOMAttr):
25183        (WebCore::InspectorInstrumentation::didModifyDOMAttr):
25184        (WebCore::InspectorInstrumentation::mouseDidMoveOverElement):
25185        (WebCore::InspectorInstrumentation::handleMousePress):
25186        (WebCore::InspectorInstrumentation::characterDataModified):
25187        (WebCore::InspectorInstrumentation::willSendXMLHttpRequest):
25188        (WebCore::InspectorInstrumentation::didScheduleResourceRequest):
25189        (WebCore::InspectorInstrumentation::didInstallTimer):
25190        (WebCore::InspectorInstrumentation::didRemoveTimer):
25191        (WebCore::InspectorInstrumentation::willCallFunction):
25192        (WebCore::InspectorInstrumentation::willChangeXHRReadyState):
25193        (WebCore::InspectorInstrumentation::willDispatchEvent):
25194        (WebCore::InspectorInstrumentation::willDispatchEventOnWindow):
25195        (WebCore::InspectorInstrumentation::willEvaluateScript):
25196        (WebCore::InspectorInstrumentation::willFireTimer):
25197        (WebCore::InspectorInstrumentation::willLayout):
25198        (WebCore::InspectorInstrumentation::willLoadXHR):
25199        (WebCore::InspectorInstrumentation::willPaint):
25200        (WebCore::InspectorInstrumentation::willRecalculateStyle):
25201        (WebCore::InspectorInstrumentation::identifierForInitialRequest):
25202        (WebCore::InspectorInstrumentation::willSendRequest):
25203        (WebCore::InspectorInstrumentation::markResourceAsCached):
25204        (WebCore::InspectorInstrumentation::didLoadResourceFromMemoryCache):
25205        (WebCore::InspectorInstrumentation::willReceiveResourceData):
25206        (WebCore::InspectorInstrumentation::willReceiveResourceResponse):
25207        (WebCore::InspectorInstrumentation::didReceiveContentLength):
25208        (WebCore::InspectorInstrumentation::didFinishLoading):
25209        (WebCore::InspectorInstrumentation::didFailLoading):
25210        (WebCore::InspectorInstrumentation::resourceRetrievedByXMLHttpRequest):
25211        (WebCore::InspectorInstrumentation::scriptImported):
25212        (WebCore::InspectorInstrumentation::mainResourceFiredLoadEvent):
25213        (WebCore::InspectorInstrumentation::mainResourceFiredDOMContentEvent):
25214        (WebCore::InspectorInstrumentation::frameDetachedFromParent):
25215        (WebCore::InspectorInstrumentation::didCommitLoad):
25216        (WebCore::InspectorInstrumentation::willWriteHTML):
25217        (WebCore::InspectorInstrumentation::didOpenDatabase):
25218        (WebCore::InspectorInstrumentation::didUseDOMStorage):
25219        (WebCore::InspectorInstrumentation::didCreateWorker):
25220        (WebCore::InspectorInstrumentation::didDestroyWorker):
25221        (WebCore::InspectorInstrumentation::didCreateWebSocket):
25222        (WebCore::InspectorInstrumentation::willSendWebSocketHandshakeRequest):
25223        (WebCore::InspectorInstrumentation::didReceiveWebSocketHandshakeResponse):
25224        (WebCore::InspectorInstrumentation::didCloseWebSocket):
25225        (WebCore::InspectorInstrumentation::networkStateChanged):
25226        (WebCore::InspectorInstrumentation::updateApplicationCacheStatus):
25227        (WebCore::InspectorInstrumentation::addMessageToConsole):
25228        (WebCore::InspectorInstrumentation::consoleCount):
25229        (WebCore::InspectorInstrumentation::startConsoleTiming):
25230        (WebCore::InspectorInstrumentation::stopConsoleTiming):
25231        (WebCore::InspectorInstrumentation::consoleMarkTimeline):
25232        (WebCore::InspectorInstrumentation::addStartProfilingMessageToConsole):
25233        (WebCore::InspectorInstrumentation::inspectorControllerForContext):
25234        (WebCore::InspectorInstrumentation::inspectorControllerForFrame):
25235        (WebCore::InspectorInstrumentation::inspectorControllerForPage):
25236        (WebCore::InspectorInstrumentation::inspectorControllerWithFrontendForContext):
25237        (WebCore::InspectorInstrumentation::inspectorControllerWithFrontendForDocument):
25238        (WebCore::InspectorInstrumentation::inspectorControllerWithFrontendForFrame):
25239        (WebCore::InspectorInstrumentation::inspectorControllerWithFrontendForPage):
25240        * inspector/InspectorState.cpp:
25241        * loader/FrameLoader.cpp:
25242        (WebCore::FrameLoader::detachFromParent):
25243        (WebCore::FrameLoader::dispatchDidClearWindowObjectInWorld):
25244        (WebCore::FrameLoader::dispatchDidCommitLoad):
25245        * page/Chrome.cpp:
25246        (WebCore::Chrome::mouseDidMoveOverElement):
25247        * page/Console.cpp:
25248        (WebCore::Console::addMessage):
25249        (WebCore::Console::count):
25250        (WebCore::Console::markTimeline):
25251        (WebCore::Console::profile):
25252        (WebCore::Console::time):
25253        (WebCore::Console::timeEnd):
25254        (WebCore::Console::group):
25255        (WebCore::Console::groupCollapsed):
25256        (WebCore::Console::groupEnd):
25257        * page/DOMWindow.cpp:
25258        (WebCore::DOMWindow::sessionStorage):
25259        (WebCore::DOMWindow::localStorage):
25260        (WebCore::DOMWindow::dispatchLoadEvent):
25261        * page/EventHandler.cpp:
25262        (WebCore::EventHandler::handleMousePressEvent):
25263        * page/Page.cpp:
25264        (WebCore::Page::~Page):
25265        * storage/Database.cpp:
25266        (WebCore::Database::openDatabase):
25267        * workers/AbstractWorker.cpp:
25268        (WebCore::AbstractWorker::onDestroyWorker):
25269        * workers/SharedWorker.cpp:
25270        (WebCore::SharedWorker::create):
25271        * workers/Worker.cpp:
25272        (WebCore::Worker::create):
25273        * workers/WorkerMessagingProxy.cpp:
25274
252752011-01-17  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
25276
25277        Unreviewed, rolling out r75923.
25278
25279        GTK guy rolls out the r75914.
25280
25281        * platform/efl/ScrollViewEfl.cpp:
25282        (WebCore::ScrollView::platformInit):
25283
252842011-01-17  Helder Correia  <helder@sencha.com>
25285
25286        Reviewed by Kenneth Rohde Christiansen.
25287
25288        [Qt] fast/canvas/canvas-fillPath-gradient-shadow.html does not pass
25289        https://bugs.webkit.org/show_bug.cgi?id=52556
25290
25291        The shadow color opacity needs to be set on the shadow painter.
25292        Additionally, the gradient brush should be transformed.
25293
25294        * platform/graphics/qt/GraphicsContextQt.cpp:
25295        (WebCore::GraphicsContext::fillPath):
25296
252972011-01-17  No'am Rosenthal  <noam.rosenthal@nokia.com>
25298
25299        Reviewed by Kenneth Rohde Christiansen.
25300
25301        [Qt] Background image rendering is slow
25302        https://bugs.webkit.org/show_bug.cgi?id=50527
25303
25304        When tiling a scaled pixmap in Image::drawPattern, scale the tile
25305        first and only then draw it to the target. Do so only when drawing
25306        more than one tile.
25307
25308        Tests in fast/backgrounds/size cover this.
25309
25310        * platform/graphics/qt/ImageQt.cpp:
25311        (WebCore::Image::drawPattern):
25312
253132011-01-17  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
25314
25315        Reviewed by Simon Hausmann.
25316
25317        [Qt] [Symbian] Fix building NPAPI support
25318        https://bugs.webkit.org/show_bug.cgi?id=51981
25319
25320        Make sure that npapi.h is always included outside of the extern "C"
25321        linkage declaration block.
25322
25323        No new tests as there is no new functionality.
25324
25325        * bridge/npruntime.h:
25326
253272011-01-17  Philippe Normand  <pnormand@igalia.com>
25328
25329        Unreviewed, rolling out r75914.
25330        http://trac.webkit.org/changeset/75914
25331        https://bugs.webkit.org/show_bug.cgi?id=49177
25332
25333        multiple crashes on GTK
25334
25335        * platform/ScrollView.cpp:
25336        (WebCore::ScrollView::removeChild):
25337        (WebCore::ScrollView::wheelEvent):
25338        * platform/gtk/MainFrameScrollbarGtk.cpp:
25339        (MainFrameScrollbarGtk::attachAdjustment):
25340        (MainFrameScrollbarGtk::gtkValueChanged):
25341        * platform/gtk/ScrollViewGtk.cpp:
25342        (WebCore::ScrollView::platformInit):
25343        (WebCore::ScrollView::platformAddChild):
25344        (WebCore::ScrollView::platformRemoveChild):
25345
253462011-01-17  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
25347
25348        Unreviewed build fix.
25349
25350        Bug 49177's patch enabled platformInit() in super class(ScrollView).
25351        But, it didn't removed the function in ScrollViewEfl.cpp.
25352
25353        * platform/efl/ScrollViewEfl.cpp:
25354
253552011-01-16  Dan Bernstein  <mitz@apple.com>
25356
25357        Reviewed by Sam Weinig.
25358
25359        <rdar://problem/8871903> REGRESSION (r75897): Crash with 0-by-0 iframe in scaled WebView
25360
25361        Avoid use of FloatRect::enclosingBoundingBox(), which can stretch an empty
25362        quad to a non-empty rect.
25363
25364        * rendering/RenderWidget.cpp:
25365        (WebCore::RenderWidget::setWidget):
25366        (WebCore::RenderWidget::updateWidgetPosition):
25367
253682011-01-16  Martin Robinson  <mrobinson@igalia.com>
25369
25370        Reviewed by Xan Lopez.
25371
25372        [GTK] fast/events/scroll-after-click-on-tab-index has been failing on the bots
25373        https://bugs.webkit.org/show_bug.cgi?id=49177
25374
25375        * platform/ScrollView.cpp: Move the platform guards around a little. GTK+
25376        now shares the implementation of platformAddChild and platformRemoveChild,
25377        but has its own implementation of removeChild, which knows how to inform
25378        main frame scrollbars that they no longer control the WebCore scrollbar.
25379        * platform/gtk/MainFrameScrollbarGtk.cpp:
25380        (MainFrameScrollbarGtk::attachAdjustment): If we are attaching the same adjustment
25381        that we already have, bail out early. Apply the value changed signal handler
25382        after configuring the adjustment. We don't want our reset of the adjustment to
25383        stomp on WebCore values.
25384        (MainFrameScrollbarGtk::gtkValueChanged): Do not adjust the value if the WebCore
25385        state already matches ours. This prevents some unnecessary recursion
25386        * platform/gtk/ScrollViewGtk.cpp:
25387        (WebCore::ScrollView::removeChild): Added, special cases main frame scrollbars
25388        which need their adjustments detached.
25389
253902011-01-13  Yuzo Fujishima  <yuzo@google.com>
25391
25392        Reviewed by Antti Koivisto.
25393
25394        Fix for Bug 52427 - Inconsistent use of m_cache in CachedResourceLoader
25395        https://bugs.webkit.org/show_bug.cgi?id=52427
25396
25397        In constructor/destructor of CachedResourceLoader, m_cache has been
25398        used to call MemoryCache::addCachedResourceLoader/removeCachedResourceLoader
25399        while cache() is used everywhere else.
25400
25401        Actually addCachedResourceLoader/removeCachedResourceLoader need not be called at all.
25402        Remove the call sites and make MemoryCache non-friend of CachedResourceLoader.
25403
25404        No new tests because the behavior remains the same.
25405
25406        * loader/cache/CachedResourceLoader.cpp:
25407        (WebCore::CachedResourceLoader::CachedResourceLoader):
25408        (WebCore::CachedResourceLoader::~CachedResourceLoader):
25409        * loader/cache/CachedResourceLoader.h:
25410        * loader/cache/MemoryCache.cpp:
25411        * loader/cache/MemoryCache.h:
25412
254132011-01-16  Adam Barth  <abarth@webkit.org>
25414
25415        Rubber-stamped by Eric Seidel.
25416
25417        Move WebKit into Source
25418        https://bugs.webkit.org/show_bug.cgi?id=52530
25419
25420        * WebCore.gyp/WebCore.gyp:
25421        * WebCore.pri:
25422        * WebCore.pro:
25423
254242011-01-16  Simon Fraser  <simon.fraser@apple.com>
25425
25426        Reviewed by Dan Bernstein.
25427
25428        frame-removed-during-resize.html test crashes (shows up as image-map-2.html crash)
25429        https://bugs.webkit.org/show_bug.cgi?id=52549
25430
25431        Fix regression from r75900; m_widget->setFrameRect() can run script that
25432        clears m_widget, so null-check it before calling setBoundsSize().
25433        
25434        Tested by fast/replaced/frame-removed-during-resize.html
25435
25436        * rendering/RenderWidget.cpp:
25437        (WebCore::RenderWidget::setWidgetGeometry):
25438
254392011-01-16  Simon Fraser  <simon.fraser@apple.com>
25440
25441        Keep Leopard build happy.
25442
25443        * platform/mac/WidgetMac.mm:
25444        (WebCore::Widget::setBoundsSize):
25445
254462011-01-16  Robert Hogan  <robert@webkit.org>
25447
25448        Reviewed by Andreas Kling.
25449
25450        [Qt] plugins/keyboard-events.html fails after r72717
25451        https://bugs.webkit.org/show_bug.cgi?id=50050
25452
25453        * plugins/qt/PluginViewQt.cpp:
25454        (WebCore::setXKeyEventSpecificFields): map event text to keycode
25455
254562011-01-16  Simon Fraser  <simon.fraser@apple.com>
25457
25458        Reviewed by Dan Bernstein.
25459
25460        Issues with iframes and plugins when the WebView is scaled.
25461        <rdar://problem/6213380>
25462        
25463        When _scaleWebView has been called on a WebView, iframes
25464        in WebKit1 render and hit-test incorrectly, and plug-ins don't scale up.
25465        This is caused by AppKit NSViews not playing nicely with the scale
25466        applied through style.
25467        
25468        Work around most of these issues by adjusting the bounds size
25469        of widgets to allow iframe contents to paint with the correct scale,
25470        and fix various places in the code where we relied on coordinate
25471        transforms via NSViews (which ignore CSS transforms).
25472
25473        * WebCore.exp.in:
25474        * platform/Widget.cpp:
25475        (WebCore::Widget::setBoundsSize):
25476        * platform/Widget.h:
25477        * platform/mac/WidgetMac.mm:
25478        (WebCore::Widget::setBoundsSize):
25479        (WebCore::Widget::paint):
25480        * rendering/RenderLayerCompositor.cpp:
25481        (WebCore::RenderLayerCompositor::shouldPropagateCompositingToEnclosingIFrame):
25482        * rendering/RenderWidget.cpp:
25483        (WebCore::RenderWidget::setWidgetGeometry):
25484        (WebCore::RenderWidget::setWidget):
25485        (WebCore::RenderWidget::updateWidgetPosition):
25486        * rendering/RenderWidget.h:
25487
254882011-01-16  Simon Fraser  <simon.fraser@apple.com>
25489
25490        Reviewed by Dan Bernstein.
25491
25492        RenderView needs to take transforms on its layer into account
25493        https://bugs.webkit.org/show_bug.cgi?id=52536
25494        
25495        The RenderView's coordinate mapping methods failed to
25496        take into account a transform on the RenderView's layer.
25497
25498        No tests because it's not possible to get a transform
25499        on the RenderView's layer through content.
25500
25501        * rendering/RenderView.cpp:
25502        (WebCore::RenderView::mapLocalToContainer):
25503        (WebCore::RenderView::mapAbsoluteToLocalPoint):
25504
255052011-01-15  Sheriff Bot  <webkit.review.bot@gmail.com>
25506
25507        Unreviewed, rolling out r75708.
25508        http://trac.webkit.org/changeset/75708
25509        https://bugs.webkit.org/show_bug.cgi?id=52521
25510
25511        Breaks Qt build if mobility is not installed. (Requested by
25512        benjaminp on #webkit).
25513
25514        * WebCore.pro:
25515        * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
25516        (WebCore::MediaPlayerPrivateQt::MediaPlayerPrivateQt):
25517        * platform/graphics/qt/MediaPlayerPrivateQt.h:
25518        (WebCore::MediaPlayerPrivateQt::supportsFullscreen):
25519
255202011-01-15  David Kilzer  <ddkilzer@apple.com>
25521
25522        <http://webkit.org/b/52512> REGRESSION(r73818): range.cloneContents() ignores end offset
25523
25524        Reviewed by Adele Peterson.
25525
25526        The fix for Bug 50710 in r73799 introduced an off-by-one error
25527        when copying nodes to a local NodeVector for processing.  A fix
25528        was attempted for Bug 50854 in r73818, but instead of stopping
25529        at the end offset, it iterates through all the sibling nodes
25530        because the loop variable (i) is never incremented.  To clean
25531        this up, revert back to the code in r73799 and fix the
25532        off-by-one error.
25533
25534        Test: fast/dom/Range/range-clone-contents.html
25535
25536        * dom/Range.cpp:
25537        (WebCore::Range::processContents): Fix the loop that copies
25538        nodes to a local NodeVector by restoring the code from r73799
25539        and fixing the off-by-one error.
25540
255412011-01-15  Adam Barth  <abarth@webkit.org>
25542
25543        Rubber-stamped by Eric Seidel.
25544
25545        Move WebKit2 into Source
25546        https://bugs.webkit.org/show_bug.cgi?id=52438
25547
25548        * WebCore.pro:
25549
255502011-01-15  Joone Hur  <joone.hur@collabora.co.uk>
25551
25552        Reviewed by Martin Robinson.
25553
25554        [GTK] Linux build with FileSystem API enabled fails
25555        https://bugs.webkit.org/show_bug.cgi?id=43878
25556
25557        This patch allows WebKitGtk+ to build with FileSystem API option.
25558
25559        No new tests because no new functionality.
25560
25561        * GNUmakefile.am: Included AsyncFileSystem.h,cpp and Excluded duplicated JSFileException.h,cpp.
25562        * bindings/js/JSDirectoryEntryCustom.cpp: Included ExceptionCode.h.
25563
255642011-01-14  Sam Magnuson  <smagnuso@gmail.com>
25565
25566        Reviewed by Kenneth Rohde Christiansen.
25567
25568        [Qt] Compile with QT_NO_GRAPHICSVIEW
25569        https://bugs.webkit.org/show_bug.cgi?id=49750
25570
25571        * platform/graphics/qt/GraphicsLayerQt.cpp:
25572        * platform/graphics/qt/GraphicsLayerQt.h:
25573        * platform/qt/PlatformMouseEventQt.cpp:
25574
255752011-01-14  Tony Chang  <tony@chromium.org>
25576
25577        Reviewed by Alexey Proskuryakov.
25578
25579        Strip NUL character when copying text on Windows
25580        https://bugs.webkit.org/show_bug.cgi?id=52236
25581
25582        Test: editing/pasteboard/copy-null-characters.html
25583
25584        * editing/Editor.cpp:
25585        (WebCore::Editor::selectedText):
25586        * platform/mac/PasteboardMac.mm:
25587        (WebCore::Pasteboard::writeSelection): Use editor()->selectedText() which matches the other platforms.
25588
255892011-01-14  Yuzo Fujishima  <yuzo@google.com>
25590
25591        Reviewed by Antti Koivisto.
25592
25593        Rename cache() to memoryCache()
25594        https://bugs.webkit.org/show_bug.cgi?id=52433
25595
25596        No new tests because the behavior remains the same.
25597
25598        * WebCore.exp.in:
25599        * WebCore.order:
25600        * history/PageCache.cpp:
25601        (WebCore::PageCache::releaseAutoreleasedPagesNow):
25602        * inspector/InspectorResourceAgent.cpp:
25603        (WebCore::InspectorResourceAgent::cachedResource):
25604        * loader/FrameLoader.cpp:
25605        (WebCore::FrameLoader::tellClientAboutPastMemoryCacheLoads):
25606        * loader/archive/cf/LegacyWebArchive.cpp:
25607        (WebCore::LegacyWebArchive::create):
25608        * loader/cache/CachedImage.cpp:
25609        (WebCore::CachedImage::allClientsRemoved):
25610        (WebCore::CachedImage::data):
25611        * loader/cache/CachedResource.cpp:
25612        (WebCore::CachedResource::~CachedResource):
25613        (WebCore::CachedResource::addClientToSet):
25614        (WebCore::CachedResource::removeClient):
25615        (WebCore::CachedResource::setDecodedSize):
25616        (WebCore::CachedResource::setEncodedSize):
25617        (WebCore::CachedResource::didAccessDecodedData):
25618        * loader/cache/CachedResourceLoader.cpp:
25619        (WebCore::CachedResourceLoader::CachedResourceLoader):
25620        (WebCore::CachedResourceLoader::requestUserCSSStyleSheet):
25621        (WebCore::CachedResourceLoader::requestResource):
25622        (WebCore::CachedResourceLoader::revalidateResource):
25623        (WebCore::CachedResourceLoader::loadResource):
25624        (WebCore::CachedResourceLoader::clearPreloads):
25625        (WebCore::CachedResourceLoader::printPreloadStats):
25626        * loader/cache/CachedResourceRequest.cpp:
25627        (WebCore::CachedResourceRequest::load):
25628        (WebCore::CachedResourceRequest::didFail):
25629        (WebCore::CachedResourceRequest::didReceiveResponse):
25630        * loader/cache/MemoryCache.cpp:
25631        (WebCore::memoryCache):
25632        * loader/cache/MemoryCache.h:
25633
256342011-01-14  Dan Bernstein  <mitz@apple.com>
25635
25636        Reviewed by Simon Fraser.
25637
25638        WebCore part of <rdar://problem/8441312> Crash in -[NSView _invalidateGStatesForTree]
25639
25640        * WebCore.exp.in: Export RenderWidget::suspendWidgetHierarchyUpdates() and
25641        RenderWidget::resumeWidgetHierarchyUpdates().
25642        * manual-tests/plug-in-mutates-NSView-hierarchy-during-resize.html: Added.
25643        * rendering/RenderWidget.cpp:
25644        (WebCore::RenderWidget::setWidgetGeometry): Removed the assertion that widget hierarchy updates
25645        are disabled. When this assertion was added, this condition was a subset of the “calling out to
25646        plug-in code is forbidden” condition, hence the assertion was valid. The WebKit part of this
25647        change now suspends widget hierarchy updates even at times where plug-in code is expected to be
25648        called, which invalidates the assertion.
25649
256502011-01-14  Tony Gentilcore  <tonyg@chromium.org>
25651
25652        Unreviewed build fix.
25653
25654        Fix Qt build after r75837
25655        https://bugs.webkit.org/show_bug.cgi?id=52494
25656
25657        * rendering/style/StyleRareInheritedData.cpp:
25658        * rendering/style/StyleRareNonInheritedData.cpp:
25659
256602011-01-14  Tony Gentilcore  <tonyg@chromium.org>
25661
25662        Unreviewed build fix.
25663
25664        Fix Qt build after r75837
25665        https://bugs.webkit.org/show_bug.cgi?id=52494
25666
25667        * rendering/style/RenderStyle.cpp:
25668
256692011-01-14  Tony Gentilcore  <tonyg@chromium.org>
25670
25671        Unreviewed build fix.
25672
25673        Fix Qt build after r75837
25674        https://bugs.webkit.org/show_bug.cgi?id=52494
25675
25676        * editing/EditorCommand.cpp:
25677
256782011-01-14  Tony Gentilcore  <tonyg@chromium.org>
25679
25680        Unreviewed build fix.
25681
25682        Fix Qt build after r75837
25683        https://bugs.webkit.org/show_bug.cgi?id=52494
25684
25685        * editing/ApplyStyleCommand.cpp:
25686
256872011-01-14  Tony Gentilcore  <tonyg@chromium.org>
25688
25689        Unreviewed build fix.
25690
25691        Fix Qt build after r75837
25692        https://bugs.webkit.org/show_bug.cgi?id=52494
25693
25694        * css/CSSStyleSelector.cpp:
25695
256962011-01-14  Tony Gentilcore  <tonyg@chromium.org>
25697
25698        Unreviewed build fix.
25699
25700        Fix Qt build after r75837
25701        https://bugs.webkit.org/show_bug.cgi?id=52494
25702
25703        * rendering/InlineFlowBox.h:
25704        * rendering/RenderBoxModelObject.h:
25705
257062011-01-14  Tony Gentilcore  <tonyg@chromium.org>
25707
25708        Reviewed by David Levin.
25709
25710        Do some forward declaration in RenderStyle.h
25711        https://bugs.webkit.org/show_bug.cgi?id=52453
25712
25713        No new tests because no new functionality.
25714
25715        * css/CSSComputedStyleDeclaration.cpp:
25716        * css/CSSStyleSelector.cpp:
25717        * editing/Editor.cpp:
25718        * page/EventHandler.cpp:
25719        * rendering/EllipsisBox.cpp:
25720        * rendering/InlineBox.cpp:
25721        * rendering/InlineTextBox.cpp:
25722        * rendering/RenderBlock.cpp:
25723        * rendering/RenderBlock.h:
25724        * rendering/RenderBox.cpp:
25725        * rendering/RenderBox.h:
25726        * rendering/RenderEmbeddedObject.cpp:
25727        * rendering/RenderFieldset.cpp:
25728        * rendering/RenderFileUploadControl.cpp:
25729        * rendering/RenderFrameSet.cpp:
25730        * rendering/RenderHTMLCanvas.cpp:
25731        * rendering/RenderImageResource.cpp:
25732        * rendering/RenderInputSpeech.cpp:
25733        * rendering/RenderLayer.h:
25734        * rendering/RenderLineBoxList.cpp:
25735        * rendering/RenderListBox.cpp:
25736        * rendering/RenderMediaControlsChromium.cpp:
25737        * rendering/RenderObject.cpp:
25738        * rendering/RenderObject.h:
25739        * rendering/RenderObjectChildList.cpp:
25740        * rendering/RenderProgress.cpp:
25741        * rendering/RenderScrollbarPart.cpp:
25742        * rendering/RenderTable.cpp:
25743        * rendering/RenderTable.h:
25744        * rendering/RenderTableCell.cpp:
25745        * rendering/RenderTableRow.cpp:
25746        * rendering/RenderTableSection.cpp:
25747        * rendering/RenderTheme.cpp:
25748        * rendering/RenderThemeChromiumSkia.cpp:
25749        * rendering/RenderThemeChromiumWin.cpp:
25750        * rendering/RootInlineBox.cpp:
25751        * rendering/style/RenderStyle.cpp:
25752        * rendering/style/RenderStyle.h:
25753        * rendering/style/StyleRareInheritedData.cpp:
25754
257552011-01-14  Ryosuke Niwa  <rniwa@webkit.org>
25756
25757        Reviewed by Eric Seidel.
25758
25759        Stop instantiating legacy editing positions in AccessibilityRenderObject.cpp, Element.cpp,
25760        BreakBlockquoteCommand.cpp, CompositeEditCommand.cpp, and DeleteButtonController.cpp
25761        https://bugs.webkit.org/show_bug.cgi?id=52481
25762
25763        Removed instantiation of legacy editing positions.
25764        Calls to Position::Position are replaced by calls to Position's convenience functions.
25765        
25766        Also fixed firstPositionInOrBeforeNode and lastPositionInOrAfterNode so that
25767        they instantiate right positions for text nodes.
25768
25769        * accessibility/AccessibilityRenderObject.cpp:
25770        (WebCore::AccessibilityRenderObject::setSelectedTextRange):
25771        * dom/Element.cpp:
25772        (WebCore::Element::updateFocusAppearance):
25773        * editing/BreakBlockquoteCommand.cpp:
25774        (WebCore::BreakBlockquoteCommand::doApply):
25775        * editing/CompositeEditCommand.cpp:
25776        (WebCore::CompositeEditCommand::inputText):
25777        (WebCore::CompositeEditCommand::rebalanceWhitespaceAt):
25778        (WebCore::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary):
25779        (WebCore::CompositeEditCommand::moveParagraphs):
25780        (WebCore::CompositeEditCommand::breakOutOfEmptyListItem):
25781        (WebCore::CompositeEditCommand::breakOutOfEmptyMailBlockquotedParagraph):
25782        (WebCore::CompositeEditCommand::splitTreeToNode):
25783        * editing/DeleteButtonController.cpp:
25784        (WebCore::enclosingDeletableElement):
25785        * editing/htmlediting.h:
25786        (WebCore::firstPositionInOrBeforeNode): Instantiates firstPositionInNode instead of
25787        positionBeforeNode for a text node.
25788        (WebCore::lastPositionInOrAfterNode): Ditto.
25789
257902011-01-14  Helder Correia  <helder@sencha.com>
25791
25792        Reviewed by Simon Fraser.
25793
25794        Shadow is not drawn when filling a path with a gradient
25795        https://bugs.webkit.org/show_bug.cgi?id=51982
25796
25797        This happens in CG and is related to bug 51869, this time to be fixed
25798        in GraphicsContext::fillPath(const Path& path). We need to draw the
25799        gradient clipped to the path on a CGLayer first, and then draw the
25800        layer on the GraphicsContext.
25801
25802        Test: fast/canvas/canvas-fillPath-gradient-shadow.html
25803
25804        * platform/graphics/cg/GraphicsContextCG.cpp:
25805        (WebCore::GraphicsContext::fillPath):
25806
258072011-01-14  Simon Fraser  <simon.fraser@apple.com>
25808
25809        Reviewed by Adam Roben.
25810
25811        Layer syncing should go through the compositor
25812        https://bugs.webkit.org/show_bug.cgi?id=52486
25813
25814        Rather than have FrameView go directly to GraphicsLayer to
25815        sync pending changes, route the call through RenderLayerCompositor.
25816        
25817        Add a FIXME about an existing issue with flushing and subframes.
25818        
25819        No behavior change, so no tests.
25820
25821        * page/FrameView.cpp:
25822        (WebCore::FrameView::syncCompositingStateForThisFrame):
25823        * rendering/RenderLayerBacking.cpp:
25824        (WebCore::RenderLayerBacking::notifySyncRequired):
25825        * rendering/RenderLayerCompositor.cpp:
25826        (WebCore::RenderLayerCompositor::scheduleLayerFlush):
25827        (WebCore::RenderLayerCompositor::flushPendingLayerChanges):
25828        * rendering/RenderLayerCompositor.h:
25829        (WebCore::RenderLayerCompositor::notifySyncRequired):
25830
258312011-01-14  Abhishek Arya  <inferno@chromium.org>
25832
25833        Reviewed by David Hyatt.
25834
25835        Fix parent block calculation when trying to find top most node
25836        containing "this" float.
25837        https://bugs.webkit.org/show_bug.cgi?id=51711
25838
25839        Replace use of containingBlock and traverse the parents directly
25840        to check for float existence. containingBlock can skip parents and
25841        jump to the RenderView directly which will cause floats to not get
25842        cleared from intermediate parents.
25843
25844        Test: fast/block/float/floats-not-cleared-crash.html
25845
25846        * rendering/RenderBox.cpp:
25847        (WebCore::RenderBox::removeFloatingOrPositionedChildFromBlockLists):
25848
258492011-01-14  Adam Klein  <adamk@chromium.org>
25850
25851        Reviewed by Darin Fisher.
25852
25853        [Chromium] Replace BackForwardListClient with BackForwardControllerClient/BackForwardList
25854        https://bugs.webkit.org/show_bug.cgi?id=42237
25855
25856        Remove Chromium-specific implementation from WebCore.
25857
25858        No tests added; this refactor should be covered by existing history-exercising tests.
25859
25860        * WebCore.gyp/WebCore.gyp:
25861        * WebCore.gypi:
25862        * history/BackForwardListChromium.cpp: Removed.
25863        * history/BackForwardListImpl.h:
25864
258652011-01-12  Satish Sampath  <satish@chromium.org>
25866
25867        Reviewed by Dimitri Glazkov.
25868
25869        Fix a crash when accessing speech input from script.
25870        https://bugs.webkit.org/show_bug.cgi?id=52325
25871
25872        Test: fast/speech/speech-input-scripting.html
25873
25874        * html/HTMLInputElement.cpp:
25875        (WebCore::HTMLInputElement::parseMappedAttribute): Recreate renderer when speech input is enabled/disabled.
25876        * rendering/RenderTextControlSingleLine.cpp: Remove unused code.
25877        * rendering/RenderTextControlSingleLine.h:
25878        * rendering/TextControlInnerElements.cpp: Take self references before firing events and check for renderer validity after.
25879        (WebCore::InputFieldSpeechButtonElement::defaultEventHandler):
25880        (WebCore::InputFieldSpeechButtonElement::setRecognitionResult):
25881        (WebCore::InputFieldSpeechButtonElement::detach):
25882
258832011-01-14  Abhishek Arya  <inferno@chromium.org>
25884
25885        Reviewed by David Hyatt.
25886
25887        Prevent merging of anonymous blocks if one of them is already getting
25888        destroyed.
25889        https://bugs.webkit.org/show_bug.cgi?id=52402
25890
25891        Test: fast/block/merge-anonymous-block-remove-child-crash2.html
25892
25893        * rendering/RenderBlock.cpp:
25894        (WebCore::RenderBlock::RenderBlock): initialize m_beingDestroyed to false.
25895        (WebCore::RenderBlock::destroy): set m_beingDestroyed to true.
25896        (WebCore::canMergeContiguousAnonymousBlocks): do not merge if any or prev or next is being destroyed.
25897        (WebCore::RenderBlock::removeChild): remove the hack previously done for preventing oldChild merging with nextBlock's next sibling.
25898        * rendering/RenderBlock.h:
25899        (WebCore::RenderBlock::beingDestroyed): public function for m_beingDestroyed.
25900
259012011-01-14  Pavel Feldman  <pfeldman@chromium.org>
25902
25903        Not reviewed. Follow up to r75791: fix missing dispatch.
25904        https://bugs.webkit.org/show_bug.cgi?id=52442
25905
25906        * inspector/front-end/DebuggerModel.js:
25907        (WebInspector.DebuggerDispatcher.prototype.breakpointResolved):
25908
259092011-01-14  Simon Fraser  <simon.fraser@apple.com>
25910
25911        Reviewed by Adam Roben.
25912
25913        Issues with contentsScale in GraphicsLayerCA
25914        https://bugs.webkit.org/show_bug.cgi?id=52463
25915
25916        Fix various issues with the recent contentsScale changes:
25917
25918        * platform/graphics/ca/GraphicsLayerCA.cpp:
25919        (WebCore::GraphicsLayerCA::GraphicsLayerCA): Initialize m_contentsScale to 1.
25920        (WebCore::GraphicsLayerCA::updateContentsScale): Only do a setNeedsDisplay()
25921        if the layer draws content, otherwise we'll create backing store for empty layers.
25922        (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer): Be sure to set contentsScale
25923        on the new (tiled or untiled) layer.
25924        (WebCore::GraphicsLayerCA::cloneLayer): Clones need contentsScale too.
25925
259262011-01-14  Simon Fraser  <simon.fraser@apple.com>
25927
25928        Let Xcode have it's way with the project file.
25929
25930        * WebCore.xcodeproj/project.pbxproj:
25931
259322011-01-14  Simon Fraser  <simon.fraser@apple.com>
25933
25934        Reviewed by Anders Carlsson.
25935
25936        Refactor some FrameView::syncCompositingState code
25937        https://bugs.webkit.org/show_bug.cgi?id=52459
25938
25939        Refactor some code in FrameView related to synchronizing
25940        compositing layer state.
25941        
25942        * page/FrameView.cpp:
25943        (WebCore::FrameView::syncCompositingStateForThisFrame):
25944        (WebCore::FrameView::syncCompositingStateRecursive):
25945        (WebCore::FrameView::paintContents):
25946        * page/FrameView.h:
25947
259482011-01-14  Viatcheslav Ostapenko  <ostapenko.viatcheslav@nokia.com>
25949
25950        Reviewed by Eric Seidel.
25951
25952        [Qt] Fix build problem introduced by http://trac.webkit.org/changeset/75713
25953        https://bugs.webkit.org/show_bug.cgi?id=30179
25954
25955        * plugins/symbian/PluginViewSymbian.cpp:
25956
259572011-01-14  Carlos Garcia Campos  <cgarcia@igalia.com>
25958
25959        Reviewed by Martin Robinson.
25960
25961        [GTK] Add volume slider to media player
25962        https://bugs.webkit.org/show_bug.cgi?id=51532
25963
25964        * css/mediaControlsGtk.css:
25965        (audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel):
25966        (audio::-webkit-media-controls-volume-slider-container, video::-webkit-media-controls-volume-slider-container):
25967        (audio::-webkit-media-controls-volume-slider, video::-webkit-media-controls-volume-slider):
25968        * platform/gtk/RenderThemeGtk.cpp:
25969        (WebCore::RenderThemeGtk::adjustMediaSliderThumbSize):
25970        (WebCore::RenderThemeGtk::paintMediaVolumeSliderContainer):
25971        (WebCore::RenderThemeGtk::paintMediaVolumeSliderTrack):
25972        (WebCore::RenderThemeGtk::paintMediaVolumeSliderThumb):
25973        * platform/gtk/RenderThemeGtk.h:
25974        * platform/gtk/RenderThemeGtk2.cpp:
25975        (WebCore::RenderThemeGtk::paintSliderTrack):
25976        (WebCore::RenderThemeGtk::paintSliderThumb):
25977        (WebCore::RenderThemeGtk::adjustSliderThumbSize):
25978        * platform/gtk/RenderThemeGtk3.cpp:
25979        (WebCore::RenderThemeGtk::paintSliderTrack):
25980        (WebCore::RenderThemeGtk::paintSliderThumb):
25981        (WebCore::RenderThemeGtk::adjustSliderThumbSize):
25982
259832011-01-14  Joone Hur  <joone.hur@collabora.co.uk>
25984
25985        Reviewed by David Levin.
25986
25987        [GTK] Convert use of raw pointers to GOwnPtr in FileSystemGtk.cpp
25988        https://bugs.webkit.org/show_bug.cgi?id=52434
25989
25990        No new tests. This code will be tested when an implementation 
25991        of beginDragWithFiles is complete. 
25992
25993        * platform/gtk/FileSystemGtk.cpp:
25994        (WebCore::filenameToString): Use GOwnPtr instead of gchar pointer.
25995        (WebCore::fileSystemRepresentation): Ditto.
25996        (WebCore::filenameForDisplay): Ditto.
25997        (WebCore::pathGetFileName): Ditto.
25998
259992011-01-14  Pavel Podivilov  <podivilov@chromium.org>
26000
26001        Reviewed by Yury Semikhatsky.
26002
26003        Web Inspector: breakpoint text snippet in breakpoints sidebar pane disappears after reload.
26004        https://bugs.webkit.org/show_bug.cgi?id=52215
26005
26006        * inspector/front-end/Breakpoint.js:
26007        (WebInspector.Breakpoint):
26008        (WebInspector.Breakpoint.prototype.populateLabelElement):
26009        * inspector/front-end/Script.js:
26010        (WebInspector.Script.prototype.get linesCount):
26011        (WebInspector.Script.prototype.sourceLine):
26012        (WebInspector.Script.prototype.sourceLine.didRequestSource):
26013        (WebInspector.Script.prototype.set source):
26014        (WebInspector.Script.prototype.requestSource.didGetScriptSource):
26015        (WebInspector.Script.prototype.requestSource):
26016        * inspector/front-end/ScriptView.js:
26017        (WebInspector.ScriptView.prototype.setupSourceFrameIfNeeded.didRequestSource):
26018        (WebInspector.ScriptView.prototype.setupSourceFrameIfNeeded):
26019        * inspector/front-end/SourceFrame.js:
26020        (WebInspector.SourceFrame.prototype._addBreakpoint):
26021        * inspector/front-end/utilities.js:
26022        (String.prototype.findAll):
26023
260242011-01-14  Pavel Podivilov  <podivilov@chromium.org>
26025
26026        Reviewed by Yury Semikhatsky.
26027
26028        Web Inspector: provide script column offset to frontend.
26029        https://bugs.webkit.org/show_bug.cgi?id=52377
26030
26031        * bindings/js/ScriptDebugServer.cpp:
26032        (WebCore::ScriptDebugServer::dispatchDidParseSource):
26033        * bindings/js/ScriptSourceCode.h:
26034        (WebCore::ScriptSourceCode::ScriptSourceCode):
26035        * bindings/v8/DebuggerScript.js:
26036        ():
26037        * bindings/v8/ScriptDebugServer.cpp:
26038        (WebCore::ScriptDebugServer::dispatchDidParseSource):
26039        * inspector/Inspector.idl:
26040        * inspector/InspectorDebuggerAgent.cpp:
26041        (WebCore::InspectorDebuggerAgent::didParseSource):
26042        * inspector/InspectorDebuggerAgent.h:
26043        * inspector/ScriptDebugListener.h:
26044        * inspector/front-end/DebuggerModel.js:
26045        (WebInspector.DebuggerModel.prototype.parsedScriptSource):
26046        * inspector/front-end/Script.js:
26047        (WebInspector.Script):
26048
260492011-01-14  Ilya Tikhonovsky  <loislo@chromium.org>
26050
26051        Unreviewed one line fix for console-xhr-logging test.
26052
26053        The problem was introduced at r75788.
26054
26055        * inspector/InspectorBrowserDebuggerAgent.cpp:
26056        (WebCore::InspectorBrowserDebuggerAgent::willSendXMLHttpRequest):
26057
260582011-01-13  Yury Semikhatsky  <yurys@chromium.org>
26059
26060        Reviewed by Pavel Feldman.
26061
26062        Web Inspector: extract console related functionality into InspectorConsoleAgent
26063        https://bugs.webkit.org/show_bug.cgi?id=52282
26064
26065        * CMakeLists.txt:
26066        * GNUmakefile.am:
26067        * WebCore.gypi:
26068        * WebCore.pro:
26069        * inspector/CodeGeneratorInspector.pm:
26070        * inspector/ConsoleMessage.cpp:
26071        (WebCore::ConsoleMessage::~ConsoleMessage):
26072        * inspector/ConsoleMessage.h:
26073        * inspector/Inspector.idl:
26074        * inspector/InspectorConsoleAgent.cpp: Added.
26075        (WebCore::InspectorConsoleAgent::InspectorConsoleAgent):
26076        (WebCore::InspectorConsoleAgent::~InspectorConsoleAgent):
26077        (WebCore::InspectorConsoleAgent::setConsoleMessagesEnabled):
26078        (WebCore::InspectorConsoleAgent::clearConsoleMessages):
26079        (WebCore::InspectorConsoleAgent::reset):
26080        (WebCore::InspectorConsoleAgent::setFrontend):
26081        (WebCore::InspectorConsoleAgent::addMessageToConsole):
26082        (WebCore::InspectorConsoleAgent::startTiming):
26083        (WebCore::InspectorConsoleAgent::stopTiming):
26084        (WebCore::InspectorConsoleAgent::count):
26085        (WebCore::InspectorConsoleAgent::resourceRetrievedByXMLHttpRequest):
26086        (WebCore::InspectorConsoleAgent::didReceiveResponse):
26087        (WebCore::InspectorConsoleAgent::didFailLoading):
26088        (WebCore::InspectorConsoleAgent::addConsoleMessage):
26089        * inspector/InspectorConsoleAgent.h: Added.
26090        * inspector/InspectorController.cpp:
26091        (WebCore::InspectorController::InspectorController):
26092        (WebCore::InspectorController::clearConsoleMessages):
26093        (WebCore::InspectorController::connectFrontend):
26094        (WebCore::InspectorController::disconnectFrontend):
26095        (WebCore::InspectorController::didCommitLoad):
26096        * inspector/InspectorController.h:
26097        (WebCore::InspectorController::consoleAgent):
26098        * inspector/InspectorInstrumentation.cpp:
26099        (WebCore::InspectorInstrumentation::didReceiveResourceResponseImpl):
26100        (WebCore::InspectorInstrumentation::didFailLoadingImpl):
26101        (WebCore::InspectorInstrumentation::resourceRetrievedByXMLHttpRequestImpl):
26102        (WebCore::InspectorInstrumentation::addMessageToConsole):
26103        (WebCore::InspectorInstrumentation::count):
26104        (WebCore::InspectorInstrumentation::startTiming):
26105        (WebCore::InspectorInstrumentation::stopTiming):
26106        (WebCore::InspectorInstrumentation::addStartProfilingMessageToConsole):
26107        * inspector/InspectorInstrumentation.h:
26108        * inspector/InspectorProfilerAgent.cpp:
26109        (WebCore::InspectorProfilerAgent::addProfileFinishedMessageToConsole):
26110        (WebCore::InspectorProfilerAgent::addStartProfilingMessageToConsole):
26111        * inspector/front-end/ConsoleView.js:
26112        (WebInspector.ConsoleView):
26113        (WebInspector.ConsoleView.prototype.addConsoleMessage):
26114        (WebInspector.ConsoleView.prototype.updateConsoleMessageExpiredCount):
26115        (WebInspector.ConsoleView.prototype.consoleMessagesCleared):
26116        * inspector/front-end/inspector.js:
26117        * page/Console.cpp:
26118        (WebCore::Console::addMessage):
26119        (WebCore::Console::count):
26120        (WebCore::Console::profile):
26121        (WebCore::Console::time):
26122        (WebCore::Console::timeEnd):
26123        (WebCore::Console::group):
26124        (WebCore::Console::groupCollapsed):
26125        (WebCore::Console::groupEnd):
26126        * page/Console.h:
26127        * page/Console.idl:
26128
261292011-01-14  Pavel Feldman  <pfeldman@chromium.org>
26130
26131        Reviewed by Yury Semikhatsky.
26132
26133        Web Inspector: do not use this as protocol message
26134        dispatcher in models / agents.
26135        https://bugs.webkit.org/show_bug.cgi?id=52442
26136
26137        Models should never for InspectorBackend.registerDomainDispatcher("foo", this).
26138        There should be a clear way to tell whether method is being called
26139        from within front-end or by the backend.
26140
26141        * inspector/front-end/DOMAgent.js:
26142        (WebInspector.DOMAgent):
26143        (WebInspector.DOMAgent.prototype.nodeForId):
26144        (WebInspector.DOMAgent.prototype._bindNodes):
26145        (WebInspector.DOMAgent.prototype._removeBreakpoints):
26146        (WebInspector.DOMDispatcher):
26147        (WebInspector.DOMDispatcher.prototype.setDocument):
26148        (WebInspector.DOMDispatcher.prototype.attributesUpdated):
26149        (WebInspector.DOMDispatcher.prototype.characterDataModified):
26150        (WebInspector.DOMDispatcher.prototype.setChildNodes):
26151        (WebInspector.DOMDispatcher.prototype.setDetachedRoot):
26152        (WebInspector.DOMDispatcher.prototype.childNodeCountUpdated):
26153        (WebInspector.DOMDispatcher.prototype.childNodeInserted):
26154        (WebInspector.DOMDispatcher.prototype.childNodeRemoved):
26155        (WebInspector.DOMDispatcher.prototype.didCommitLoad):
26156        (WebInspector.ApplicationCacheDispatcher):
26157        (WebInspector.ApplicationCacheDispatcher.prototype.getApplicationCachesAsync):
26158        (WebInspector.ApplicationCacheDispatcher.prototype.updateApplicationCacheStatus):
26159        (WebInspector.ApplicationCacheDispatcher.prototype.updateNetworkState):
26160        * inspector/front-end/DOMStorage.js:
26161        (WebInspector.DOMStorageDispatcher):
26162        (WebInspector.DOMStorageDispatcher.prototype.addDOMStorage):
26163        (WebInspector.DOMStorageDispatcher.prototype.selectDOMStorage):
26164        (WebInspector.DOMStorageDispatcher.prototype.updateDOMStorage):
26165        * inspector/front-end/Database.js:
26166        (WebInspector.Database.prototype.executeSql):
26167        (WebInspector.DatabaseDispatcher):
26168        (WebInspector.DatabaseDispatcher.prototype.addDatabase):
26169        (WebInspector.DatabaseDispatcher.prototype.selectDatabase):
26170        (WebInspector.DatabaseDispatcher.prototype.sqlTransactionSucceeded):
26171        (WebInspector.DatabaseDispatcher.prototype.sqlTransactionFailed):
26172        * inspector/front-end/DebuggerModel.js:
26173        (WebInspector.DebuggerModel):
26174        (WebInspector.DebuggerModel.prototype._pausedScript):
26175        (WebInspector.DebuggerModel.prototype._resumedScript):
26176        (WebInspector.DebuggerModel.prototype._parsedScriptSource):
26177        (WebInspector.DebuggerModel.prototype._failedToParseScriptSource):
26178        (WebInspector.DebuggerDispatcher):
26179        (WebInspector.DebuggerDispatcher.prototype.pausedScript):
26180        (WebInspector.DebuggerDispatcher.prototype.resumedScript):
26181        (WebInspector.DebuggerDispatcher.prototype.parsedScriptSource):
26182        (WebInspector.DebuggerDispatcher.prototype.failedToParseScriptSource):
26183        * inspector/front-end/FileSystemView.js:
26184        (WebInspector.FileSystemDispatcher):
26185        (WebInspector.FileSystemDispatcher.prototype.getFileSystemPathsAsync):
26186        (WebInspector.FileSystemDispatcher.prototype.didGetFileSystemPath):
26187        (WebInspector.FileSystemDispatcher.prototype.didGetFileSystemError):
26188        (WebInspector.FileSystemDispatcher.prototype.didGetFileSystemDisabled):
26189        * inspector/front-end/ProfilesPanel.js:
26190        (WebInspector.ProfilesPanel):
26191        (WebInspector.ProfilesPanel.prototype._addProfileHeader):
26192        (WebInspector.ProfilesPanel.prototype._removeProfileHeader):
26193        (WebInspector.ProfilesPanel.prototype._addHeapSnapshotChunk):
26194        (WebInspector.ProfilesPanel.prototype._finishHeapSnapshot):
26195        (WebInspector.ProfilesPanel.prototype._setRecordingProfile):
26196        (WebInspector.ProfilerDispatcher):
26197        (WebInspector.ProfilerDispatcher.prototype.profilerWasEnabled):
26198        (WebInspector.ProfilerDispatcher.prototype.profilerWasDisabled):
26199        (WebInspector.ProfilerDispatcher.prototype.resetProfiles):
26200        (WebInspector.ProfilerDispatcher.prototype.addProfileHeader):
26201        (WebInspector.ProfilerDispatcher.prototype.addHeapSnapshotChunk):
26202        (WebInspector.ProfilerDispatcher.prototype.finishHeapSnapshot):
26203        (WebInspector.ProfilerDispatcher.prototype.setRecordingProfile):
26204        (WebInspector.ProfileSidebarTreeElement.prototype.ondelete):
26205        * inspector/front-end/ResourceTreeModel.js:
26206        (WebInspector.ResourceTreeModel):
26207        * inspector/front-end/TimelinePanel.js:
26208        (WebInspector.TimelinePanel):
26209        (WebInspector.TimelinePanel.prototype._timelineProfilerWasStarted):
26210        (WebInspector.TimelinePanel.prototype._timelineProfilerWasStopped):
26211        (WebInspector.TimelinePanel.prototype._addRecordToTimeline):
26212        (WebInspector.TimelineDispatcher):
26213        (WebInspector.TimelineDispatcher.prototype.timelineProfilerWasStarted):
26214        (WebInspector.TimelineDispatcher.prototype.timelineProfilerWasStopped):
26215        (WebInspector.TimelineDispatcher.prototype.addRecordToTimeline):
26216
262172011-01-14  Csaba Osztrogonác  <ossy@webkit.org>
26218
26219        [Qt][V8] Unreviewed buildfix after r75788.
26220
26221        * inspector/InspectorBrowserDebuggerAgent.cpp:
26222
262232011-01-12  Ilya Tikhonovsky  <loislo@chromium.org>
26224
26225        Reviewed by Yury Semikhatsky.
26226
26227        Web Inspector: Extract BrowserDebuggerAgent from InspectorController, InspectorDOMAgent and InspectorDebugger agent.
26228        We have some methods of Debugger which are related to DOM.
26229        Lets extract these methods to BrowserDebugger agent.
26230
26231        http://bugs.webkit.org/show_bug.cgi?id=52294
26232
26233        * CMakeLists.txt:
26234        * WebCore.gypi:
26235        * WebCore.pro:
26236        * WebCore.vcproj/WebCore.vcproj:
26237        * WebCore.xcodeproj/project.pbxproj:
26238        * inspector/CodeGeneratorInspector.pm:
26239        * inspector/Inspector.idl:
26240        * inspector/InspectorBrowserDebuggerAgent.cpp: Added.
26241        (WebCore::InspectorBrowserDebuggerAgent::InspectorBrowserDebuggerAgent):
26242        (WebCore::InspectorBrowserDebuggerAgent::~InspectorBrowserDebuggerAgent):
26243        (WebCore::InspectorBrowserDebuggerAgent::discardBindings):
26244        (WebCore::InspectorBrowserDebuggerAgent::setEventListenerBreakpoint):
26245        (WebCore::InspectorBrowserDebuggerAgent::removeEventListenerBreakpoint):
26246        (WebCore::InspectorBrowserDebuggerAgent::didInsertDOMNode):
26247        (WebCore::InspectorBrowserDebuggerAgent::didRemoveDOMNode):
26248        (WebCore::InspectorBrowserDebuggerAgent::setDOMBreakpoint):
26249        (WebCore::InspectorBrowserDebuggerAgent::removeDOMBreakpoint):
26250        (WebCore::InspectorBrowserDebuggerAgent::willInsertDOMNode):
26251        (WebCore::InspectorBrowserDebuggerAgent::willRemoveDOMNode):
26252        (WebCore::InspectorBrowserDebuggerAgent::willModifyDOMAttr):
26253        (WebCore::InspectorBrowserDebuggerAgent::descriptionForDOMEvent):
26254        (WebCore::InspectorBrowserDebuggerAgent::hasBreakpoint):
26255        (WebCore::InspectorBrowserDebuggerAgent::updateSubtreeBreakpoints):
26256        (WebCore::InspectorBrowserDebuggerAgent::pauseOnNativeEventIfNeeded):
26257        (WebCore::InspectorBrowserDebuggerAgent::setXHRBreakpoint):
26258        (WebCore::InspectorBrowserDebuggerAgent::removeXHRBreakpoint):
26259        (WebCore::InspectorBrowserDebuggerAgent::willSendXMLHttpRequest):
26260        (WebCore::InspectorBrowserDebuggerAgent::clearForPageNavigation):
26261        * inspector/InspectorBrowserDebuggerAgent.h: Added.
26262        (WebCore::InspectorBrowserDebuggerAgent::create):
26263        * inspector/InspectorController.cpp:
26264        (WebCore::InspectorController::InspectorController):
26265        (WebCore::InspectorController::inspectedPageDestroyed):
26266        (WebCore::InspectorController::didCommitLoad):
26267        (WebCore::InspectorController::enableDebuggerFromFrontend):
26268        (WebCore::InspectorController::disableDebugger):
26269        (WebCore::InspectorController::restoreStickyBreakpoints):
26270        (WebCore::InspectorController::restoreStickyBreakpoint):
26271        * inspector/InspectorController.h:
26272        * inspector/InspectorDOMAgent.cpp:
26273        (WebCore::InspectorDOMAgent::discardBindings):
26274        (WebCore::InspectorDOMAgent::didInsertDOMNode):
26275        (WebCore::InspectorDOMAgent::didRemoveDOMNode):
26276        * inspector/InspectorDOMAgent.h:
26277        * inspector/InspectorInstrumentation.cpp:
26278        (WebCore::InspectorInstrumentation::willInsertDOMNodeImpl):
26279        (WebCore::InspectorInstrumentation::didInsertDOMNodeImpl):
26280        (WebCore::InspectorInstrumentation::willRemoveDOMNodeImpl):
26281        (WebCore::InspectorInstrumentation::didRemoveDOMNodeImpl):
26282        (WebCore::InspectorInstrumentation::willModifyDOMAttrImpl):
26283        (WebCore::InspectorInstrumentation::willSendXMLHttpRequestImpl):
26284        (WebCore::InspectorInstrumentation::pauseOnNativeEventIfNeeded):
26285
262862011-01-14  Andrey Kosyakov  <caseq@chromium.org>
26287
26288        Reviewed by Pavel Feldman.
26289
26290        Web Inspector: redirected resources not handled properly in Network panel
26291        https://bugs.webkit.org/show_bug.cgi?id=52292
26292
26293        * inspector/Inspector.idl: Do not pass isMainResource to identifierForInitialRequest() (it's useless, as we may hit provisional load)
26294        * inspector/InspectorInstrumentation.cpp: Ditto.
26295        (WebCore::InspectorInstrumentation::identifierForInitialRequestImpl):
26296        * inspector/InspectorResourceAgent.cpp: Ditto.
26297        (WebCore::InspectorResourceAgent::identifierForInitialRequest):
26298        * inspector/InspectorResourceAgent.h: Ditto.
26299        * inspector/InspectorInstrumentation.cpp: Ditto.
26300        (WebCore::InspectorInstrumentation::identifierForInitialRequestImpl): Fix main resource detection.
26301        * inspector/front-end/AuditsPanel.js: WebInspector.networkResources now returns array, not map.
26302        * inspector/front-end/ConsoleView.js: User WebInspector.resourceById() to get resource
26303        (WebInspector.ConsoleMessage.prototype._formatMessage):
26304        * inspector/front-end/ExtensionServer.js: Ditto.
26305        (WebInspector.ExtensionServer.prototype._onRevealAndSelectResource):
26306        (WebInspector.ExtensionServer.prototype._onGetResourceContent):
26307        * inspector/front-end/HAREntry.js: WebInspector.networkResources now returns array, not map
26308        (WebInspector.HARLog.prototype.build):
26309        (WebInspector.HARLog.prototype._convertResource):
26310        * inspector/front-end/NetworkManager.js:
26311        (WebInspector.NetworkManager): Use appendResource, not refreshResource, when adding a new resource.
26312        (WebInspector.NetworkManager.prototype.identifierForInitialRequest):
26313        (WebInspector.NetworkManager.prototype.willSendRequest):
26314        (WebInspector.NetworkManager.prototype.didLoadResourceFromMemoryCache):
26315        (WebInspector.NetworkManager.prototype.setInitialContent):
26316        (WebInspector.NetworkManager.prototype.didCommitLoadForFrame):
26317        (WebInspector.NetworkManager.prototype.didCreateWebSocket):
26318        (WebInspector.NetworkManager.prototype._createResource): always register resource URL with ResourceTreeModel
26319        (WebInspector.NetworkManager.prototype._appendRedirect):
26320        * inspector/front-end/NetworkPanel.js:
26321        (WebInspector.NetworkPanel):
26322        (WebInspector.NetworkPanel.prototype.get resources):
26323        (WebInspector.NetworkPanel.prototype.resourceById):
26324        (WebInspector.NetworkPanel.prototype.appendResource): Add resource as new iff appendResource was added.
26325        (WebInspector.NetworkPanel.prototype.refreshResource): ditto.
26326        (WebInspector.NetworkPanel.prototype.mainResourceChanged): Clear console upon arrival of new main resource.
26327        * inspector/front-end/ResourceTreeModel.js: Expose unbindResourceURL, bind resources automatically upon creation.
26328        (WebInspector.ResourceTreeModel.prototype._clearResources):
26329        (WebInspector.ResourceTreeModel.prototype.unbindResourceURL):
26330        (WebInspector.ResourceTreeModel.prototype._addFramesRecursively):
26331        (WebInspector.ResourceTreeModel.prototype.createResource):
26332        * inspector/front-end/inspector.js:
26333        (WebInspector.resourceById):
26334
263352011-01-14  Sheriff Bot  <webkit.review.bot@gmail.com>
26336
26337        Unreviewed, rolling out r75783.
26338        http://trac.webkit.org/changeset/75783
26339        https://bugs.webkit.org/show_bug.cgi?id=52439
26340
26341        a bit strange but the same patch have broken mac builds at
26342        linking stage. (Requested by loislo2 on #webkit).
26343
26344        * CMakeLists.txt:
26345        * GNUmakefile.am:
26346        * WebCore.gypi:
26347        * WebCore.pro:
26348        * WebCore.vcproj/WebCore.vcproj:
26349        * WebCore.xcodeproj/project.pbxproj:
26350        * inspector/CodeGeneratorInspector.pm:
26351        * inspector/Inspector.idl:
26352        * inspector/InspectorBrowserDebuggerAgent.cpp: Removed.
26353        * inspector/InspectorBrowserDebuggerAgent.h: Removed.
26354        * inspector/InspectorController.cpp:
26355        (WebCore::InspectorController::InspectorController):
26356        (WebCore::InspectorController::inspectedPageDestroyed):
26357        (WebCore::InspectorController::didCommitLoad):
26358        (WebCore::InspectorController::enableDebuggerFromFrontend):
26359        (WebCore::InspectorController::disableDebugger):
26360        (WebCore::InspectorController::restoreStickyBreakpoints):
26361        (WebCore::InspectorController::restoreStickyBreakpoint):
26362        (WebCore::InspectorController::setEventListenerBreakpoint):
26363        (WebCore::InspectorController::removeEventListenerBreakpoint):
26364        (WebCore::InspectorController::hasEventListenerBreakpoint):
26365        (WebCore::InspectorController::setXHRBreakpoint):
26366        (WebCore::InspectorController::removeXHRBreakpoint):
26367        (WebCore::InspectorController::hasXHRBreakpoint):
26368        * inspector/InspectorController.h:
26369        * inspector/InspectorDOMAgent.cpp:
26370        (WebCore::InspectorDOMAgent::discardBindings):
26371        (WebCore::InspectorDOMAgent::setDOMBreakpoint):
26372        (WebCore::InspectorDOMAgent::removeDOMBreakpoint):
26373        (WebCore::InspectorDOMAgent::shouldBreakOnNodeInsertion):
26374        (WebCore::InspectorDOMAgent::shouldBreakOnNodeRemoval):
26375        (WebCore::InspectorDOMAgent::shouldBreakOnAttributeModification):
26376        (WebCore::InspectorDOMAgent::descriptionForDOMEvent):
26377        (WebCore::InspectorDOMAgent::didInsertDOMNode):
26378        (WebCore::InspectorDOMAgent::didRemoveDOMNode):
26379        (WebCore::InspectorDOMAgent::hasBreakpoint):
26380        (WebCore::InspectorDOMAgent::updateSubtreeBreakpoints):
26381        * inspector/InspectorDOMAgent.h:
26382        * inspector/InspectorInstrumentation.cpp:
26383        (WebCore::InspectorInstrumentation::willInsertDOMNodeImpl):
26384        (WebCore::InspectorInstrumentation::didInsertDOMNodeImpl):
26385        (WebCore::InspectorInstrumentation::willRemoveDOMNodeImpl):
26386        (WebCore::InspectorInstrumentation::didRemoveDOMNodeImpl):
26387        (WebCore::InspectorInstrumentation::willModifyDOMAttrImpl):
26388        (WebCore::InspectorInstrumentation::willSendXMLHttpRequestImpl):
26389        (WebCore::InspectorInstrumentation::pauseOnNativeEventIfNeeded):
26390
263912011-01-12  Ilya Tikhonovsky  <loislo@chromium.org>
26392
26393        Reviewed by Yury Semikhatsky.
26394
26395        Web Inspector: Extract BrowserDebuggerAgent from InspectorController, InspectorDOMAgent and InspectorDebugger agent.
26396        We have some methods of Debugger which are related to DOM.
26397        Lets extract these methods to BrowserDebugger agent.
26398
26399        http://bugs.webkit.org/show_bug.cgi?id=52294
26400
26401        * CMakeLists.txt:
26402        * WebCore.gypi:
26403        * WebCore.pro:
26404        * WebCore.vcproj/WebCore.vcproj:
26405        * WebCore.xcodeproj/project.pbxproj:
26406        * inspector/CodeGeneratorInspector.pm:
26407        * inspector/Inspector.idl:
26408        * inspector/InspectorBrowserDebuggerAgent.cpp: Added.
26409        (WebCore::InspectorBrowserDebuggerAgent::InspectorBrowserDebuggerAgent):
26410        (WebCore::InspectorBrowserDebuggerAgent::~InspectorBrowserDebuggerAgent):
26411        (WebCore::InspectorBrowserDebuggerAgent::discardBindings):
26412        (WebCore::InspectorBrowserDebuggerAgent::setEventListenerBreakpoint):
26413        (WebCore::InspectorBrowserDebuggerAgent::removeEventListenerBreakpoint):
26414        (WebCore::InspectorBrowserDebuggerAgent::didInsertDOMNode):
26415        (WebCore::InspectorBrowserDebuggerAgent::didRemoveDOMNode):
26416        (WebCore::InspectorBrowserDebuggerAgent::setDOMBreakpoint):
26417        (WebCore::InspectorBrowserDebuggerAgent::removeDOMBreakpoint):
26418        (WebCore::InspectorBrowserDebuggerAgent::willInsertDOMNode):
26419        (WebCore::InspectorBrowserDebuggerAgent::willRemoveDOMNode):
26420        (WebCore::InspectorBrowserDebuggerAgent::willModifyDOMAttr):
26421        (WebCore::InspectorBrowserDebuggerAgent::descriptionForDOMEvent):
26422        (WebCore::InspectorBrowserDebuggerAgent::hasBreakpoint):
26423        (WebCore::InspectorBrowserDebuggerAgent::updateSubtreeBreakpoints):
26424        (WebCore::InspectorBrowserDebuggerAgent::pauseOnNativeEventIfNeeded):
26425        (WebCore::InspectorBrowserDebuggerAgent::setXHRBreakpoint):
26426        (WebCore::InspectorBrowserDebuggerAgent::removeXHRBreakpoint):
26427        (WebCore::InspectorBrowserDebuggerAgent::willSendXMLHttpRequest):
26428        (WebCore::InspectorBrowserDebuggerAgent::clearForPageNavigation):
26429        * inspector/InspectorBrowserDebuggerAgent.h: Added.
26430        (WebCore::InspectorBrowserDebuggerAgent::create):
26431        * inspector/InspectorController.cpp:
26432        (WebCore::InspectorController::InspectorController):
26433        (WebCore::InspectorController::inspectedPageDestroyed):
26434        (WebCore::InspectorController::didCommitLoad):
26435        (WebCore::InspectorController::enableDebuggerFromFrontend):
26436        (WebCore::InspectorController::disableDebugger):
26437        (WebCore::InspectorController::restoreStickyBreakpoints):
26438        (WebCore::InspectorController::restoreStickyBreakpoint):
26439        * inspector/InspectorController.h:
26440        * inspector/InspectorDOMAgent.cpp:
26441        (WebCore::InspectorDOMAgent::discardBindings):
26442        (WebCore::InspectorDOMAgent::didInsertDOMNode):
26443        (WebCore::InspectorDOMAgent::didRemoveDOMNode):
26444        * inspector/InspectorDOMAgent.h:
26445        * inspector/InspectorInstrumentation.cpp:
26446        (WebCore::InspectorInstrumentation::willInsertDOMNodeImpl):
26447        (WebCore::InspectorInstrumentation::didInsertDOMNodeImpl):
26448        (WebCore::InspectorInstrumentation::willRemoveDOMNodeImpl):
26449        (WebCore::InspectorInstrumentation::didRemoveDOMNodeImpl):
26450        (WebCore::InspectorInstrumentation::willModifyDOMAttrImpl):
26451        (WebCore::InspectorInstrumentation::willSendXMLHttpRequestImpl):
26452        (WebCore::InspectorInstrumentation::pauseOnNativeEventIfNeeded):
26453
264542011-01-14  Pavel Feldman  <pfeldman@chromium.org>
26455
26456        Not reviewed: build fix.
26457
26458        * WebCore.vcproj/WebCore.vcproj:
26459
264602011-01-14  Pavel Feldman  <pfeldman@chromium.org>
26461
26462        Reviewed by Yury Semikhatsky.
26463
26464        Web Inspector: extract InspectorSettings from InspectorState,
26465        simplify it.
26466        https://bugs.webkit.org/show_bug.cgi?id=52429
26467
26468        * CMakeLists.txt:
26469        * GNUmakefile.am:
26470        * WebCore.gypi:
26471        * WebCore.pro:
26472        * WebCore.xcodeproj/project.pbxproj:
26473        * inspector/InspectorClient.h:
26474        * inspector/InspectorController.cpp:
26475        (WebCore::InspectorController::InspectorController):
26476        (WebCore::InspectorController::inspectorStartsAttached):
26477        (WebCore::InspectorController::setInspectorStartsAttached):
26478        (WebCore::InspectorController::setInspectorAttachedHeight):
26479        (WebCore::InspectorController::inspectorAttachedHeight):
26480        (WebCore::InspectorController::setMonitoringXHREnabled):
26481        (WebCore::InspectorController::restoreDebugger):
26482        (WebCore::InspectorController::restoreProfiler):
26483        (WebCore::InspectorController::ensureSettingsLoaded):
26484        (WebCore::InspectorController::enableProfiler):
26485        (WebCore::InspectorController::disableProfiler):
26486        (WebCore::InspectorController::enableDebuggerFromFrontend):
26487        (WebCore::InspectorController::disableDebugger):
26488        * inspector/InspectorController.h:
26489        * inspector/InspectorSettings.cpp: Added.
26490        (WebCore::InspectorSettings::InspectorSettings):
26491        (WebCore::InspectorSettings::getBoolean):
26492        (WebCore::InspectorSettings::setBoolean):
26493        (WebCore::InspectorSettings::getLong):
26494        (WebCore::InspectorSettings::setLong):
26495        (WebCore::InspectorSettings::registerBoolean):
26496        (WebCore::InspectorSettings::registerLong):
26497        * inspector/InspectorSettings.h: Added.
26498        * inspector/InspectorState.cpp:
26499        (WebCore::InspectorState::InspectorState):
26500        (WebCore::InspectorState::setValue):
26501        (WebCore::InspectorState::setObject):
26502        (WebCore::InspectorState::registerBoolean):
26503        (WebCore::InspectorState::registerString):
26504        (WebCore::InspectorState::registerLong):
26505        (WebCore::InspectorState::registerObject):
26506        (WebCore::InspectorState::Property::create):
26507        * inspector/InspectorState.h:
26508        (WebCore::InspectorState::setBoolean):
26509        (WebCore::InspectorState::setString):
26510        (WebCore::InspectorState::setLong):
26511
265122011-01-14  Sheriff Bot  <webkit.review.bot@gmail.com>
26513
26514        Unreviewed, rolling out r75774.
26515        http://trac.webkit.org/changeset/75774
26516        https://bugs.webkit.org/show_bug.cgi?id=52431
26517
26518        gtk builds were broken (Requested by loislo2 on #webkit).
26519
26520        * CMakeLists.txt:
26521        * WebCore.gypi:
26522        * WebCore.pro:
26523        * WebCore.vcproj/WebCore.vcproj:
26524        * WebCore.xcodeproj/project.pbxproj:
26525        * inspector/CodeGeneratorInspector.pm:
26526        * inspector/Inspector.idl:
26527        * inspector/InspectorBrowserDebuggerAgent.cpp: Removed.
26528        * inspector/InspectorBrowserDebuggerAgent.h: Removed.
26529        * inspector/InspectorController.cpp:
26530        (WebCore::InspectorController::InspectorController):
26531        (WebCore::InspectorController::inspectedPageDestroyed):
26532        (WebCore::InspectorController::didCommitLoad):
26533        (WebCore::InspectorController::enableDebuggerFromFrontend):
26534        (WebCore::InspectorController::disableDebugger):
26535        (WebCore::InspectorController::restoreStickyBreakpoints):
26536        (WebCore::InspectorController::restoreStickyBreakpoint):
26537        (WebCore::InspectorController::setEventListenerBreakpoint):
26538        (WebCore::InspectorController::removeEventListenerBreakpoint):
26539        (WebCore::InspectorController::hasEventListenerBreakpoint):
26540        (WebCore::InspectorController::setXHRBreakpoint):
26541        (WebCore::InspectorController::removeXHRBreakpoint):
26542        (WebCore::InspectorController::hasXHRBreakpoint):
26543        * inspector/InspectorController.h:
26544        * inspector/InspectorDOMAgent.cpp:
26545        (WebCore::InspectorDOMAgent::discardBindings):
26546        (WebCore::InspectorDOMAgent::setDOMBreakpoint):
26547        (WebCore::InspectorDOMAgent::removeDOMBreakpoint):
26548        (WebCore::InspectorDOMAgent::shouldBreakOnNodeInsertion):
26549        (WebCore::InspectorDOMAgent::shouldBreakOnNodeRemoval):
26550        (WebCore::InspectorDOMAgent::shouldBreakOnAttributeModification):
26551        (WebCore::InspectorDOMAgent::descriptionForDOMEvent):
26552        (WebCore::InspectorDOMAgent::didInsertDOMNode):
26553        (WebCore::InspectorDOMAgent::didRemoveDOMNode):
26554        (WebCore::InspectorDOMAgent::hasBreakpoint):
26555        (WebCore::InspectorDOMAgent::updateSubtreeBreakpoints):
26556        * inspector/InspectorDOMAgent.h:
26557        * inspector/InspectorInstrumentation.cpp:
26558        (WebCore::InspectorInstrumentation::willInsertDOMNodeImpl):
26559        (WebCore::InspectorInstrumentation::didInsertDOMNodeImpl):
26560        (WebCore::InspectorInstrumentation::willRemoveDOMNodeImpl):
26561        (WebCore::InspectorInstrumentation::didRemoveDOMNodeImpl):
26562        (WebCore::InspectorInstrumentation::willModifyDOMAttrImpl):
26563        (WebCore::InspectorInstrumentation::willSendXMLHttpRequestImpl):
26564        (WebCore::InspectorInstrumentation::pauseOnNativeEventIfNeeded):
26565
265662011-01-12  Ilya Tikhonovsky  <loislo@chromium.org>
26567
26568        Reviewed by Yury Semikhatsky.
26569
26570        Web Inspector: Extract BrowserDebuggerAgent from InspectorController, InspectorDOMAgent and InspectorDebugger agent.
26571        We have some methods of Debugger which are related to DOM.
26572        Lets extract these methods to BrowserDebugger agent.
26573
26574        http://bugs.webkit.org/show_bug.cgi?id=52294
26575
26576        * CMakeLists.txt:
26577        * WebCore.gypi:
26578        * WebCore.pro:
26579        * WebCore.vcproj/WebCore.vcproj:
26580        * WebCore.xcodeproj/project.pbxproj:
26581        * inspector/CodeGeneratorInspector.pm:
26582        * inspector/Inspector.idl:
26583        * inspector/InspectorBrowserDebuggerAgent.cpp: Added.
26584        (WebCore::InspectorBrowserDebuggerAgent::InspectorBrowserDebuggerAgent):
26585        (WebCore::InspectorBrowserDebuggerAgent::~InspectorBrowserDebuggerAgent):
26586        (WebCore::InspectorBrowserDebuggerAgent::discardBindings):
26587        (WebCore::InspectorBrowserDebuggerAgent::setEventListenerBreakpoint):
26588        (WebCore::InspectorBrowserDebuggerAgent::removeEventListenerBreakpoint):
26589        (WebCore::InspectorBrowserDebuggerAgent::didInsertDOMNode):
26590        (WebCore::InspectorBrowserDebuggerAgent::didRemoveDOMNode):
26591        (WebCore::InspectorBrowserDebuggerAgent::setDOMBreakpoint):
26592        (WebCore::InspectorBrowserDebuggerAgent::removeDOMBreakpoint):
26593        (WebCore::InspectorBrowserDebuggerAgent::willInsertDOMNode):
26594        (WebCore::InspectorBrowserDebuggerAgent::willRemoveDOMNode):
26595        (WebCore::InspectorBrowserDebuggerAgent::willModifyDOMAttr):
26596        (WebCore::InspectorBrowserDebuggerAgent::descriptionForDOMEvent):
26597        (WebCore::InspectorBrowserDebuggerAgent::hasBreakpoint):
26598        (WebCore::InspectorBrowserDebuggerAgent::updateSubtreeBreakpoints):
26599        (WebCore::InspectorBrowserDebuggerAgent::pauseOnNativeEventIfNeeded):
26600        (WebCore::InspectorBrowserDebuggerAgent::setXHRBreakpoint):
26601        (WebCore::InspectorBrowserDebuggerAgent::removeXHRBreakpoint):
26602        (WebCore::InspectorBrowserDebuggerAgent::willSendXMLHttpRequest):
26603        (WebCore::InspectorBrowserDebuggerAgent::clearForPageNavigation):
26604        * inspector/InspectorBrowserDebuggerAgent.h: Added.
26605        (WebCore::InspectorBrowserDebuggerAgent::create):
26606        * inspector/InspectorController.cpp:
26607        (WebCore::InspectorController::InspectorController):
26608        (WebCore::InspectorController::inspectedPageDestroyed):
26609        (WebCore::InspectorController::didCommitLoad):
26610        (WebCore::InspectorController::enableDebuggerFromFrontend):
26611        (WebCore::InspectorController::disableDebugger):
26612        (WebCore::InspectorController::restoreStickyBreakpoints):
26613        (WebCore::InspectorController::restoreStickyBreakpoint):
26614        * inspector/InspectorController.h:
26615        * inspector/InspectorDOMAgent.cpp:
26616        (WebCore::InspectorDOMAgent::discardBindings):
26617        (WebCore::InspectorDOMAgent::didInsertDOMNode):
26618        (WebCore::InspectorDOMAgent::didRemoveDOMNode):
26619        * inspector/InspectorDOMAgent.h:
26620        * inspector/InspectorInstrumentation.cpp:
26621        (WebCore::InspectorInstrumentation::willInsertDOMNodeImpl):
26622        (WebCore::InspectorInstrumentation::didInsertDOMNodeImpl):
26623        (WebCore::InspectorInstrumentation::willRemoveDOMNodeImpl):
26624        (WebCore::InspectorInstrumentation::didRemoveDOMNodeImpl):
26625        (WebCore::InspectorInstrumentation::willModifyDOMAttrImpl):
26626        (WebCore::InspectorInstrumentation::willSendXMLHttpRequestImpl):
26627        (WebCore::InspectorInstrumentation::pauseOnNativeEventIfNeeded):
26628
266292011-01-13  Kent Tamura  <tkent@chromium.org>
26630
26631        Reviewed by Dimitri Glazkov.
26632
26633        Implement form validation message UI
26634        https://bugs.webkit.org/show_bug.cgi?id=48980
26635
26636        * Add four internal pseudo selectors:
26637          - -webkit-validation-bubble
26638          - -webkit-validation-bubble-message
26639          - -webkit-validation-bubble-top-outer-arrow
26640          - -webkit-validation-bubble-top-inner-arrow
26641
26642        * Implement ValidationMessage functions
26643          Show the message for <the number of characters> / 20.0 seconds.
26644
26645        No new tests because the feature is disabled by default for now and the
26646        new behavior is strongly timing-dependent.
26647
26648        * css/CSSStyleSelector.cpp:
26649        (WebCore::CSSStyleSelector::canShareStyleWithElement):
26650          Do not share a style with elements with different shadowPseudoId().
26651        * css/html.css: Define appearance for the internal selectors.
26652        (::-webkit-validation-bubble):
26653        (::-webkit-validation-bubble-message):
26654        (::-webkit-validation-bubble-top-outer-arrow):
26655        (::-webkit-validation-bubble-top-inner-arrow):
26656        * dom/Node.cpp:
26657        (WebCore::Node::createRendererIfNeeded):
26658          Allow to add shadow renderers even if canHaveChildren() returns false.
26659        * html/HTMLFormControlElement.cpp:
26660        (WebCore::HTMLFormControlElement::detach):
26661          Remove m_validationMessage immediately because we can't use
26662          hideVisibleValidationMessage(), which calls a ValidationMessage function later.
26663        (WebCore::HTMLFormControlElement::updateVisibleValidationMessage):
26664          - Don't create ValidationMessage if the message is empty.
26665          - Remove the check for message equality.
26666        (WebCore::HTMLFormControlElement::hideVisibleValidationMessage):
26667          Don't remove m_validationMessage immediately. We shouldn't make the
26668          element needsLayout() state in this context.
26669        * html/ValidationMessage.cpp:
26670        (WebCore::ValidationMessage::~ValidationMessage):
26671          hideMessage() -> deleteBubbleTree() renaming.
26672        (WebCore::ValidationMessage::setMessage): Implemented.
26673        (WebCore::ValidationMessage::setMessageDOMAndStartTimer):
26674          Added. This updates the validation message and starts the timer to hide it.
26675        (WebCore::ElementWithPseudoId):
26676          Added to help implementations of styled shadow nodes.
26677        (WebCore::ValidationMessage::buildBubbleTree): Added.
26678        (WebCore::ValidationMessage::requestToHideMessage): Added.
26679        (WebCore::ValidationMessage::deleteBubbleTree):
26680          Renamed from hideMessage(), and implemented.
26681        * html/ValidationMessage.h: Add declarations.
26682
266832011-01-13  Dan Bernstein  <mitz@apple.com>
26684
26685        Reviewed by Alexey Proskuryakov.
26686
26687        <rdar://problem/8827065> REGRESSION (r71884): Cross-origin XHR fails if willSendRequest changes the URL
26688        https://bugs.webkit.org/show_bug.cgi?id=52419
26689
26690        Test: http/tests/loading/cross-origin-XHR-willLoadRequest.html
26691
26692        * loader/ResourceLoader.cpp:
26693        (WebCore::ResourceLoader::init): Complete r74453 by ensuring that m_request is only set after
26694        willSendRequest(). Otherwise, willSendRequest() ends up calling into
26695        ThreadableDocumentRequest::willSendRequest(), which cancels the request.
26696
266972011-01-13  Dan Bernstein  <mitz@apple.com>
26698
26699        Reviewed by Mark Rowe.
26700
26701        Don’t try to compile InjectedScriptSource.js into WebCore.
26702
26703        * WebCore.xcodeproj/project.pbxproj:
26704
267052011-01-13  Mike Thole  <mthole@apple.com>
26706
26707        Reviewed by Darin Adler and Brady Eidson.
26708
26709        The pageScaleFactor() should be saved/restored along with the scroll position
26710        https://bugs.webkit.org/show_bug.cgi?id=52406
26711        <rdar://problem/8714412>
26712
26713        * history/HistoryItem.cpp:
26714        (WebCore::HistoryItem::HistoryItem): Initialize m_pageScaleFactor.
26715        (WebCore::HistoryItem::pageScaleFactor): Added getter.
26716        (WebCore::HistoryItem::setPageScaleFactor): Added setter.
26717        (WebCore::HistoryItem::encodeBackForwardTreeNode): Encode m_pageScaleFactor.
26718        (WebCore::HistoryItem::decodeBackForwardTree): Decode m_pageScaleFactor.
26719        * history/HistoryItem.h:
26720        * loader/HistoryController.cpp:
26721        (WebCore::HistoryController::saveScrollPositionAndViewStateToItem): Save the page scale factor...
26722        (WebCore::HistoryController::restoreScrollPositionAndViewState): ...and restore it here.
26723
267242011-01-13  Evan Martin  <evan@chromium.org>
26725
26726        Reviewed by Tony Chang.
26727
26728        [chromium] drop backwards iteration in Linux complex text code
26729        https://bugs.webkit.org/show_bug.cgi?id=52403
26730
26731        ComplexTextController previously supported iterating through the text in
26732        both directions, but this resulted in duplicate code for each path.
26733        Instead, by being more careful about flipping signs where appropriate,
26734        we can refactor the code into one code path.
26735
26736        No tests, just a refactoring; should be covered by existing tests.
26737
26738        * platform/graphics/chromium/ComplexTextControllerLinux.cpp:
26739        (WebCore::ComplexTextController::ComplexTextController):
26740        (WebCore::ComplexTextController::reset):
26741        (WebCore::ComplexTextController::nextScriptRun):
26742        * platform/graphics/chromium/ComplexTextControllerLinux.h:
26743        * platform/graphics/chromium/FontLinux.cpp:
26744        (WebCore::glyphIndexForXPositionInScriptRun):
26745        (WebCore::Font::selectionRectForComplexText):
26746
267472011-01-13  Dimitri Glazkov  <dglazkov@chromium.org>
26748
26749        Reviewed by Darin Adler.
26750
26751        Flip input[type=range] to use the new shadow DOM model.
26752        https://bugs.webkit.org/show_bug.cgi?id=52317
26753
26754        This is a straight-up flip, minimal change to the logic, which will be
26755        refactored in a follow-up patch.
26756
26757        Covered by existing tests.
26758
26759        * css/CSSStyleSelector.cpp:
26760        (WebCore::CSSStyleSelector::initForStyleResolve): Changed to use either
26761            host or parent node to find parent.
26762        * html/HTMLInputElement.cpp:
26763        (WebCore::HTMLInputElement::updateType): Added logic for destroying/creating
26764            shadow DOM subtree.
26765        * html/InputType.cpp:
26766        (WebCore::InputType::createShadowSubtree): Added empty decl.
26767        (WebCore::InputType::destroyShadowSubtree): Added a method to destroy
26768            shadow subtree.
26769        * html/InputType.h: Added defs.
26770        * html/RangeInputType.cpp:
26771        (WebCore::RangeInputType::createShadowSubtree): Added a virtual method to create
26772            slider thumb.
26773        * html/RangeInputType.h: Adde def.
26774        * html/shadow/SliderThumbElement.cpp: Added temporary RenderSliderThumb class
26775            to handle cascading appearance.
26776        (WebCore::RenderSliderThumb::RenderSliderThumb): Added.
26777        (WebCore::RenderSliderThumb::layout): Moved here the logic from
26778            RenderSlider::createThumbStyle.
26779        (WebCore::SliderThumbElement::createRenderer): Added virtual method to
26780            create RenderSliderThumb instance.
26781        (WebCore::SliderThumbElement::defaultEventHandler): Changed to use HTMLDivElement
26782            as base class.
26783        (WebCore::SliderThumbElement::detach): Ditto.
26784        * html/shadow/SliderThumbElement.h:
26785        (WebCore::SliderThumbElement::SliderThumbElement): Ditto.
26786        (WebCore::SliderThumbElement::create): Ditto.
26787        (WebCore::toSliderThumbElement): Added a casting helper.
26788        * rendering/MediaControlElements.cpp:
26789        (WebCore::MediaControlInputElement::attach): Added handling of shadow DOM,
26790            since the whole method is hand-rolled.
26791        (WebCore::MediaControlInputElement::updateStyle): Ditto.
26792        * rendering/RenderSlider.cpp:
26793        (WebCore::RenderSlider::~RenderSlider): Removed unneeded code.
26794        (WebCore::RenderSlider::thumbRect): Changed to use sliderThumbElement helper.
26795        (WebCore::RenderSlider::layout): Ditto.
26796        (WebCore::RenderSlider::sliderThumbElement): Added a temporary helper to access
26797            SliderThumbElement.
26798        (WebCore::RenderSlider::mouseEventIsInThumb): Changed to use sliderThumbElement helper.
26799        (WebCore::RenderSlider::mouseEventOffsetToThumb): Ditto.
26800        (WebCore::RenderSlider::setValueForPosition): Ditto.
26801        (WebCore::RenderSlider::positionForOffset): Ditto.
26802        (WebCore::RenderSlider::currentPosition): Ditto.
26803        (WebCore::RenderSlider::trackSize): Ditto.
26804        (WebCore::RenderSlider::forwardEvent): Ditto.
26805        (WebCore::RenderSlider::inDragMode): Ditto.
26806        * rendering/RenderSlider.h: Added def.
26807
268082011-01-13  Adam Barth  <abarth@webkit.org>
26809
26810        Reviewed by Eric Seidel.
26811
26812        Rename RGBA32Buffer to ImageFrame
26813        https://bugs.webkit.org/show_bug.cgi?id=52363
26814
26815        RGBA32Buffer is a terrible misnomer.  ImageFrame is vastly
26816        more accurate.  More cleanup to come.
26817
26818        * WebCore.pro:
26819        * platform/graphics/ImageSource.cpp:
26820        (WebCore::ImageSource::createFrameAtIndex):
26821        (WebCore::ImageSource::frameDurationAtIndex):
26822        (WebCore::ImageSource::frameIsCompleteAtIndex):
26823        * platform/graphics/qt/ImageDecoderQt.cpp:
26824        (WebCore::ImageDecoderQt::frameBufferAtIndex):
26825        (WebCore::ImageDecoderQt::internalReadImage):
26826        (WebCore::ImageDecoderQt::internalHandleCurrentImage):
26827        * platform/graphics/qt/ImageDecoderQt.h:
26828        * platform/graphics/wince/ImageWinCE.cpp:
26829        (WebCore::ImageFrame::asNewNativeImage):
26830        * platform/image-decoders/ImageDecoder.cpp:
26831        (WebCore::ImageFrame::ImageFrame):
26832        (WebCore::ImageFrame::operator=):
26833        (WebCore::ImageFrame::clear):
26834        (WebCore::ImageFrame::zeroFill):
26835        (WebCore::ImageFrame::copyReferenceToBitmapData):
26836        (WebCore::ImageFrame::copyBitmapData):
26837        (WebCore::ImageFrame::setSize):
26838        (WebCore::ImageFrame::hasAlpha):
26839        (WebCore::ImageFrame::setHasAlpha):
26840        (WebCore::ImageFrame::setColorProfile):
26841        (WebCore::ImageFrame::setStatus):
26842        (WebCore::ImageFrame::width):
26843        (WebCore::ImageFrame::height):
26844        * platform/image-decoders/ImageDecoder.h:
26845        (WebCore::ImageFrame::ImageFrame):
26846        * platform/image-decoders/bmp/BMPImageDecoder.cpp:
26847        (WebCore::BMPImageDecoder::frameBufferAtIndex):
26848        (WebCore::BMPImageDecoder::decode):
26849        * platform/image-decoders/bmp/BMPImageDecoder.h:
26850        * platform/image-decoders/bmp/BMPImageReader.cpp:
26851        (WebCore::BMPImageReader::decodeBMP):
26852        * platform/image-decoders/bmp/BMPImageReader.h:
26853        (WebCore::BMPImageReader::setBuffer):
26854        * platform/image-decoders/cairo/ImageDecoderCairo.cpp:
26855        (WebCore::ImageFrame::asNewNativeImage):
26856        * platform/image-decoders/cg/ImageDecoderCG.cpp:
26857        (WebCore::getPtrAsPixelData):
26858        (WebCore::ImageFrame::copyReferenceToBitmapData):
26859        (WebCore::ImageFrame::copyBitmapData):
26860        (WebCore::ImageFrame::setSize):
26861        (WebCore::ImageFrame::asNewNativeImage):
26862        * platform/image-decoders/gif/GIFImageDecoder.cpp:
26863        (WebCore::GIFImageDecoder::frameBufferAtIndex):
26864        (WebCore::GIFImageDecoder::clearFrameBufferCache):
26865        (WebCore::GIFImageDecoder::haveDecodedRow):
26866        (WebCore::GIFImageDecoder::frameComplete):
26867        (WebCore::GIFImageDecoder::initFrameBuffer):
26868        * platform/image-decoders/gif/GIFImageDecoder.h:
26869        * platform/image-decoders/gif/GIFImageReader.cpp:
26870        (GIFImageReader::read):
26871        * platform/image-decoders/gif/GIFImageReader.h:
26872        (GIFFrameReader::GIFFrameReader):
26873        * platform/image-decoders/haiku/ImageDecoderHaiku.cpp:
26874        (WebCore::ImageFrame::asNewNativeImage):
26875        * platform/image-decoders/ico/ICOImageDecoder.cpp:
26876        (WebCore::ICOImageDecoder::frameBufferAtIndex):
26877        (WebCore::ICOImageDecoder::decode):
26878        * platform/image-decoders/ico/ICOImageDecoder.h:
26879        * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
26880        (WebCore::JPEGImageDecoder::frameBufferAtIndex):
26881        (WebCore::JPEGImageDecoder::outputScanlines):
26882        (WebCore::JPEGImageDecoder::jpegComplete):
26883        (WebCore::JPEGImageDecoder::decode):
26884        * platform/image-decoders/jpeg/JPEGImageDecoder.h:
26885        * platform/image-decoders/openvg/ImageDecoderOpenVG.cpp:
26886        (WebCore::ImageFrame::asNewNativeImage):
26887        * platform/image-decoders/png/PNGImageDecoder.cpp:
26888        (WebCore::PNGImageDecoder::frameBufferAtIndex):
26889        (WebCore::PNGImageDecoder::rowAvailable):
26890        (WebCore::PNGImageDecoder::pngComplete):
26891        * platform/image-decoders/png/PNGImageDecoder.h:
26892        (WebCore::PNGImageDecoder::isComplete):
26893        * platform/image-decoders/qt/ImageFrameQt.cpp: Copied from Source/WebCore/platform/image-decoders/qt/RGBA32BufferQt.cpp.
26894        (WebCore::ImageFrame::ImageFrame):
26895        (WebCore::ImageFrame::operator=):
26896        (WebCore::ImageFrame::clear):
26897        (WebCore::ImageFrame::zeroFill):
26898        (WebCore::ImageFrame::copyBitmapData):
26899        (WebCore::ImageFrame::setSize):
26900        (WebCore::ImageFrame::asNewNativeImage):
26901        (WebCore::ImageFrame::hasAlpha):
26902        (WebCore::ImageFrame::setHasAlpha):
26903        (WebCore::ImageFrame::setColorProfile):
26904        (WebCore::ImageFrame::setStatus):
26905        (WebCore::ImageFrame::setPixmap):
26906        (WebCore::ImageFrame::width):
26907        (WebCore::ImageFrame::height):
26908        * platform/image-decoders/qt/RGBA32BufferQt.cpp: Removed.
26909        * platform/image-decoders/skia/ImageDecoderSkia.cpp:
26910        (WebCore::ImageFrame::ImageFrame):
26911        (WebCore::ImageFrame::operator=):
26912        (WebCore::ImageFrame::clear):
26913        (WebCore::ImageFrame::zeroFill):
26914        (WebCore::ImageFrame::copyBitmapData):
26915        (WebCore::ImageFrame::setSize):
26916        (WebCore::ImageFrame::asNewNativeImage):
26917        (WebCore::ImageFrame::hasAlpha):
26918        (WebCore::ImageFrame::setHasAlpha):
26919        (WebCore::ImageFrame::setColorProfile):
26920        (WebCore::ImageFrame::setStatus):
26921        (WebCore::ImageFrame::width):
26922        (WebCore::ImageFrame::height):
26923        * platform/image-decoders/webp/WEBPImageDecoder.cpp:
26924        (WebCore::WEBPImageDecoder::frameBufferAtIndex):
26925        (WebCore::WEBPImageDecoder::decode):
26926        * platform/image-decoders/webp/WEBPImageDecoder.h:
26927        * platform/image-decoders/wx/ImageDecoderWx.cpp:
26928        (WebCore::ImageFrame::asNewNativeImage):
26929
269302011-01-13  Dimitri Glazkov  <dglazkov@chromium.org>
26931
26932        Reviewed by Darin Adler.
26933
26934        Transferring nodes between documents should be aware of the shadow DOM.
26935        https://bugs.webkit.org/show_bug.cgi?id=52399
26936
26937        No visible change in behavior at the moment.
26938
26939        Once https://bugs.webkit.org/show_bug.cgi?id=52317 lands, the following
26940        tests should no longer crash:
26941        * fast/css/pseudo-in-range-invalid-value.html
26942        * fast/css/pseudo-in-range.html
26943        * fast/forms/form-collection-elements.html
26944        * fast/forms/range-keyoperation.html
26945
26946        * dom/Document.cpp:
26947        (WebCore::Document::adoptNode): Changed to use Node::setDocumentRecursively.
26948        * dom/Node.cpp:
26949        (WebCore::Node::setDocumentRecursively): Added new method, taking existing
26950            logic and adding shadow DOM traversal.
26951        (WebCore::Node::traverseNextNode): Style fix.
26952        (WebCore::Node::traverseNextSibling): Ditto.
26953        (WebCore::Node::traversePreviousNode): Ditto.
26954        (WebCore::Node::traversePreviousNodePostOrder): Ditto.
26955        (WebCore::Node::checkReplaceChild): Changed to use setDocumentRecursively.
26956        (WebCore::Node::checkAddChild): Ditto.
26957        * dom/Node.h: Added def.
26958
269592011-01-12  Enrica Casucci  <enrica@apple.com>
26960
26961        Reviewed by Darin Adler.
26962
26963        WebKit2: Add support for drag and drop
26964        https://bugs.webkit.org/show_bug.cgi?id=52343
26965        <rdar://problem/7660558>
26966               
26967        This patch contains the changes required to support dropping content
26968        in WebKit on the Mac. The DragData class has been extended to provide
26969        additional context from the application (keyboard state, modal windows, etc.)
26970        as well as information of the drag pasteboard being used.
26971        The support for WebKit as drag source will be added with a separate patch.
26972
26973        * WebCore.exp.in:
26974        * page/DragController.cpp:
26975        (WebCore::DragController::dragIsMove): Added DragData parameter.
26976        (WebCore::DragController::tryDocumentDrag): Modified call to dragIsMove.
26977        (WebCore::DragController::concludeEditDrag): Same as above.
26978        * page/DragController.h: Added parameter to isCopyKeyDown.
26979        * page/mac/DragControllerMac.mm:
26980        The following methods have been modified to use the information stored
26981        in the DragData class.
26982        (WebCore::DragController::isCopyKeyDown):
26983        (WebCore::DragController::dragOperation):
26984        * platform/DragData.h:
26985        (WebCore::DragData::flags):
26986        * platform/DragData.cpp: Added default flags parameter to the constructor.
26987        * platform/mac/DragDataMac.mm:
26988        (WebCore::DragData::DragData): Added constructor that receives the name of the pasteboard to use.
26989        (WebCore::DragData::canSmartReplace):
26990        (WebCore::DragData::containsColor):
26991        (WebCore::DragData::containsFiles):
26992        (WebCore::DragData::asFilenames):
26993        (WebCore::DragData::containsPlainText):
26994        (WebCore::DragData::asPlainText):
26995        (WebCore::DragData::containsCompatibleContent):
26996        (WebCore::DragData::asURL):
26997        (WebCore::DragData::asFragment):
26998        All the following files have been modified to add the DragData
26999        parameter to isCopyKeyDown. I plan to improve this in the future
27000        and make isCopyKeyDown not platform specific.
27001        * page/android/DragControllerAndroid.cpp:
27002        (WebCore::DragController::isCopyKeyDown):
27003        * page/brew/DragControllerBrew.cpp:
27004        (WebCore::DragController::isCopyKeyDown):
27005        * page/chromium/DragControllerChromium.cpp:
27006        (WebCore::DragController::isCopyKeyDown):
27007        * page/efl/DragControllerEfl.cpp:
27008        (WebCore::DragController::isCopyKeyDown):
27009        * page/gtk/DragControllerGtk.cpp:
27010        (WebCore::DragController::isCopyKeyDown):
27011        * page/haiku/DragControllerHaiku.cpp:
27012        (WebCore::DragController::isCopyKeyDown):
27013        * page/mac/DragControllerMac.mm:
27014        (WebCore::DragController::isCopyKeyDown):
27015        (WebCore::DragController::dragOperation):
27016        * page/qt/DragControllerQt.cpp:
27017        (WebCore::DragController::isCopyKeyDown):
27018        * page/win/DragControllerWin.cpp:
27019        (WebCore::DragController::isCopyKeyDown):
27020        * page/wx/DragControllerWx.cpp:
27021        (WebCore::DragController::isCopyKeyDown):
27022
270232011-01-13  David Kilzer  <ddkilzer@apple.com>
27024
27025        Add missing MathMLElementFactory.h and MathMLNames.h to Xcode project
27026
27027        Not reviewed.
27028
27029        * WebCore.xcodeproj/project.pbxproj: Add missing headers.  Note
27030        that the corresponding source files were originally added to the
27031        project in r48559.
27032
270332011-01-12  Zhenyao Mo  <zmo@google.com>
27034
27035        Reviewed by Kenneth Russell.
27036
27037        Use GC3D types in WebGLRenderingContext and related WebGL classes
27038        https://bugs.webkit.org/show_bug.cgi?id=51908
27039
27040        * html/canvas/WebGLActiveInfo.h:
27041        (WebCore::WebGLActiveInfo::create):
27042        (WebCore::WebGLActiveInfo::type):
27043        (WebCore::WebGLActiveInfo::size):
27044        (WebCore::WebGLActiveInfo::WebGLActiveInfo):
27045        * html/canvas/WebGLBuffer.cpp:
27046        (WebCore::WebGLBuffer::associateBufferDataImpl):
27047        (WebCore::WebGLBuffer::associateBufferData):
27048        (WebCore::WebGLBuffer::associateBufferSubDataImpl):
27049        (WebCore::WebGLBuffer::associateBufferSubData):
27050        (WebCore::WebGLBuffer::byteLength):
27051        (WebCore::WebGLBuffer::getCachedMaxIndex):
27052        (WebCore::WebGLBuffer::setCachedMaxIndex):
27053        (WebCore::WebGLBuffer::setTarget):
27054        * html/canvas/WebGLBuffer.h:
27055        (WebCore::WebGLBuffer::getTarget):
27056        * html/canvas/WebGLFramebuffer.cpp:
27057        (WebCore::WebGLFramebuffer::setAttachment):
27058        (WebCore::WebGLFramebuffer::getAttachment):
27059        (WebCore::WebGLFramebuffer::getWidth):
27060        (WebCore::WebGLFramebuffer::getHeight):
27061        (WebCore::WebGLFramebuffer::getColorBufferFormat):
27062        (WebCore::WebGLFramebuffer::initializeRenderbuffers):
27063        * html/canvas/WebGLFramebuffer.h:
27064        * html/canvas/WebGLProgram.cpp:
27065        (WebCore::WebGLProgram::cacheActiveAttribLocations):
27066        (WebCore::WebGLProgram::numActiveAttribLocations):
27067        (WebCore::WebGLProgram::getActiveAttribLocation):
27068        (WebCore::WebGLProgram::isUsingVertexAttrib0):
27069        * html/canvas/WebGLProgram.h:
27070        (WebCore::WebGLProgram::getLinkCount):
27071        * html/canvas/WebGLRenderbuffer.h:
27072        (WebCore::WebGLRenderbuffer::setInternalFormat):
27073        (WebCore::WebGLRenderbuffer::getInternalFormat):
27074        (WebCore::WebGLRenderbuffer::setSize):
27075        (WebCore::WebGLRenderbuffer::getWidth):
27076        (WebCore::WebGLRenderbuffer::getHeight):
27077        * html/canvas/WebGLRenderingContext.cpp:
27078        (WebCore::WebGLRenderingContext::initializeNewContext):
27079        (WebCore::WebGLRenderingContext::sizeInBytes):
27080        (WebCore::WebGLRenderingContext::activeTexture):
27081        (WebCore::WebGLRenderingContext::bindAttribLocation):
27082        (WebCore::WebGLRenderingContext::bindBuffer):
27083        (WebCore::WebGLRenderingContext::bindFramebuffer):
27084        (WebCore::WebGLRenderingContext::bindRenderbuffer):
27085        (WebCore::WebGLRenderingContext::bindTexture):
27086        (WebCore::WebGLRenderingContext::blendColor):
27087        (WebCore::WebGLRenderingContext::blendEquation):
27088        (WebCore::WebGLRenderingContext::blendEquationSeparate):
27089        (WebCore::WebGLRenderingContext::blendFunc):
27090        (WebCore::WebGLRenderingContext::blendFuncSeparate):
27091        (WebCore::WebGLRenderingContext::bufferData):
27092        (WebCore::WebGLRenderingContext::bufferSubData):
27093        (WebCore::WebGLRenderingContext::checkFramebufferStatus):
27094        (WebCore::WebGLRenderingContext::clear):
27095        (WebCore::WebGLRenderingContext::clearColor):
27096        (WebCore::WebGLRenderingContext::clearDepth):
27097        (WebCore::WebGLRenderingContext::clearStencil):
27098        (WebCore::WebGLRenderingContext::colorMask):
27099        (WebCore::WebGLRenderingContext::copyTexImage2D):
27100        (WebCore::WebGLRenderingContext::copyTexSubImage2D):
27101        (WebCore::WebGLRenderingContext::createShader):
27102        (WebCore::WebGLRenderingContext::cullFace):
27103        (WebCore::WebGLRenderingContext::deleteBuffer):
27104        (WebCore::WebGLRenderingContext::depthFunc):
27105        (WebCore::WebGLRenderingContext::depthMask):
27106        (WebCore::WebGLRenderingContext::depthRange):
27107        (WebCore::WebGLRenderingContext::disable):
27108        (WebCore::WebGLRenderingContext::disableVertexAttribArray):
27109        (WebCore::WebGLRenderingContext::validateElementArraySize):
27110        (WebCore::WebGLRenderingContext::validateIndexArrayConservative):
27111        (WebCore::WebGLRenderingContext::validateIndexArrayPrecise):
27112        (WebCore::WebGLRenderingContext::validateRenderingState):
27113        (WebCore::WebGLRenderingContext::drawArrays):
27114        (WebCore::WebGLRenderingContext::drawElements):
27115        (WebCore::WebGLRenderingContext::enable):
27116        (WebCore::WebGLRenderingContext::enableVertexAttribArray):
27117        (WebCore::WebGLRenderingContext::framebufferRenderbuffer):
27118        (WebCore::WebGLRenderingContext::framebufferTexture2D):
27119        (WebCore::WebGLRenderingContext::frontFace):
27120        (WebCore::WebGLRenderingContext::generateMipmap):
27121        (WebCore::WebGLRenderingContext::getActiveAttrib):
27122        (WebCore::WebGLRenderingContext::getActiveUniform):
27123        (WebCore::WebGLRenderingContext::getAttachedShaders):
27124        (WebCore::WebGLRenderingContext::getAttribLocation):
27125        (WebCore::WebGLRenderingContext::getBufferParameter):
27126        (WebCore::WebGLRenderingContext::getError):
27127        (WebCore::WebGLRenderingContext::getFramebufferAttachmentParameter):
27128        (WebCore::WebGLRenderingContext::getParameter):
27129        (WebCore::WebGLRenderingContext::getProgramParameter):
27130        (WebCore::WebGLRenderingContext::getRenderbufferParameter):
27131        (WebCore::WebGLRenderingContext::getShaderParameter):
27132        (WebCore::WebGLRenderingContext::getTexParameter):
27133        (WebCore::WebGLRenderingContext::getUniform):
27134        (WebCore::WebGLRenderingContext::getUniformLocation):
27135        (WebCore::WebGLRenderingContext::getVertexAttrib):
27136        (WebCore::WebGLRenderingContext::getVertexAttribOffset):
27137        (WebCore::WebGLRenderingContext::hint):
27138        (WebCore::WebGLRenderingContext::isBuffer):
27139        (WebCore::WebGLRenderingContext::isEnabled):
27140        (WebCore::WebGLRenderingContext::isFramebuffer):
27141        (WebCore::WebGLRenderingContext::isProgram):
27142        (WebCore::WebGLRenderingContext::isRenderbuffer):
27143        (WebCore::WebGLRenderingContext::isShader):
27144        (WebCore::WebGLRenderingContext::isTexture):
27145        (WebCore::WebGLRenderingContext::lineWidth):
27146        (WebCore::WebGLRenderingContext::linkProgram):
27147        (WebCore::WebGLRenderingContext::pixelStorei):
27148        (WebCore::WebGLRenderingContext::polygonOffset):
27149        (WebCore::WebGLRenderingContext::readPixels):
27150        (WebCore::WebGLRenderingContext::renderbufferStorage):
27151        (WebCore::WebGLRenderingContext::sampleCoverage):
27152        (WebCore::WebGLRenderingContext::scissor):
27153        (WebCore::WebGLRenderingContext::stencilFunc):
27154        (WebCore::WebGLRenderingContext::stencilFuncSeparate):
27155        (WebCore::WebGLRenderingContext::stencilMask):
27156        (WebCore::WebGLRenderingContext::stencilMaskSeparate):
27157        (WebCore::WebGLRenderingContext::stencilOp):
27158        (WebCore::WebGLRenderingContext::stencilOpSeparate):
27159        (WebCore::WebGLRenderingContext::texImage2DBase):
27160        (WebCore::WebGLRenderingContext::texImage2DImpl):
27161        (WebCore::WebGLRenderingContext::texImage2D):
27162        (WebCore::WebGLRenderingContext::texParameter):
27163        (WebCore::WebGLRenderingContext::texParameterf):
27164        (WebCore::WebGLRenderingContext::texParameteri):
27165        (WebCore::WebGLRenderingContext::texSubImage2DBase):
27166        (WebCore::WebGLRenderingContext::texSubImage2DImpl):
27167        (WebCore::WebGLRenderingContext::texSubImage2D):
27168        (WebCore::WebGLRenderingContext::uniform1f):
27169        (WebCore::WebGLRenderingContext::uniform1fv):
27170        (WebCore::WebGLRenderingContext::uniform1i):
27171        (WebCore::WebGLRenderingContext::uniform1iv):
27172        (WebCore::WebGLRenderingContext::uniform2f):
27173        (WebCore::WebGLRenderingContext::uniform2fv):
27174        (WebCore::WebGLRenderingContext::uniform2i):
27175        (WebCore::WebGLRenderingContext::uniform2iv):
27176        (WebCore::WebGLRenderingContext::uniform3f):
27177        (WebCore::WebGLRenderingContext::uniform3fv):
27178        (WebCore::WebGLRenderingContext::uniform3i):
27179        (WebCore::WebGLRenderingContext::uniform3iv):
27180        (WebCore::WebGLRenderingContext::uniform4f):
27181        (WebCore::WebGLRenderingContext::uniform4fv):
27182        (WebCore::WebGLRenderingContext::uniform4i):
27183        (WebCore::WebGLRenderingContext::uniform4iv):
27184        (WebCore::WebGLRenderingContext::uniformMatrix2fv):
27185        (WebCore::WebGLRenderingContext::uniformMatrix3fv):
27186        (WebCore::WebGLRenderingContext::uniformMatrix4fv):
27187        (WebCore::WebGLRenderingContext::vertexAttrib1f):
27188        (WebCore::WebGLRenderingContext::vertexAttrib1fv):
27189        (WebCore::WebGLRenderingContext::vertexAttrib2f):
27190        (WebCore::WebGLRenderingContext::vertexAttrib2fv):
27191        (WebCore::WebGLRenderingContext::vertexAttrib3f):
27192        (WebCore::WebGLRenderingContext::vertexAttrib3fv):
27193        (WebCore::WebGLRenderingContext::vertexAttrib4f):
27194        (WebCore::WebGLRenderingContext::vertexAttrib4fv):
27195        (WebCore::WebGLRenderingContext::vertexAttribPointer):
27196        (WebCore::WebGLRenderingContext::viewport):
27197        (WebCore::WebGLRenderingContext::getBooleanParameter):
27198        (WebCore::WebGLRenderingContext::getBooleanArrayParameter):
27199        (WebCore::WebGLRenderingContext::getFloatParameter):
27200        (WebCore::WebGLRenderingContext::getIntParameter):
27201        (WebCore::WebGLRenderingContext::getLongParameter):
27202        (WebCore::WebGLRenderingContext::getUnsignedLongParameter):
27203        (WebCore::WebGLRenderingContext::getWebGLFloatArrayParameter):
27204        (WebCore::WebGLRenderingContext::getWebGLIntArrayParameter):
27205        (WebCore::WebGLRenderingContext::isTexInternalFormatColorBufferCombinationValid):
27206        (WebCore::WebGLRenderingContext::getBoundFramebufferColorFormat):
27207        (WebCore::WebGLRenderingContext::validateTextureBinding):
27208        (WebCore::WebGLRenderingContext::validateSize):
27209        (WebCore::WebGLRenderingContext::validateTexFuncFormatAndType):
27210        (WebCore::WebGLRenderingContext::validateTexFuncLevel):
27211        (WebCore::WebGLRenderingContext::validateTexFuncParameters):
27212        (WebCore::WebGLRenderingContext::validateTexFuncData):
27213        (WebCore::WebGLRenderingContext::validateDrawMode):
27214        (WebCore::WebGLRenderingContext::validateStencilFunc):
27215        (WebCore::WebGLRenderingContext::validateFramebufferFuncParameters):
27216        (WebCore::WebGLRenderingContext::validateBlendEquation):
27217        (WebCore::WebGLRenderingContext::validateBlendFuncFactors):
27218        (WebCore::WebGLRenderingContext::validateCapability):
27219        (WebCore::WebGLRenderingContext::validateUniformParameters):
27220        (WebCore::WebGLRenderingContext::validateUniformMatrixParameters):
27221        (WebCore::WebGLRenderingContext::validateBufferDataParameters):
27222        (WebCore::WebGLRenderingContext::vertexAttribfImpl):
27223        (WebCore::WebGLRenderingContext::vertexAttribfvImpl):
27224        (WebCore::WebGLRenderingContext::simulateVertexAttrib0):
27225        * html/canvas/WebGLRenderingContext.h:
27226        (WebCore::WebGLRenderingContext::VertexAttribState::VertexAttribState):
27227        * html/canvas/WebGLShader.cpp:
27228        (WebCore::WebGLShader::create):
27229        (WebCore::WebGLShader::WebGLShader):
27230        * html/canvas/WebGLShader.h:
27231        (WebCore::WebGLShader::getType):
27232        * html/canvas/WebGLTexture.cpp:
27233        (WebCore::WebGLTexture::setTarget):
27234        (WebCore::WebGLTexture::setParameteri):
27235        (WebCore::WebGLTexture::setParameterf):
27236        (WebCore::WebGLTexture::setLevelInfo):
27237        (WebCore::WebGLTexture::generateMipmapLevelInfo):
27238        (WebCore::WebGLTexture::getInternalFormat):
27239        (WebCore::WebGLTexture::getType):
27240        (WebCore::WebGLTexture::getWidth):
27241        (WebCore::WebGLTexture::getHeight):
27242        (WebCore::WebGLTexture::isNPOT):
27243        (WebCore::WebGLTexture::mapTargetToIndex):
27244        (WebCore::WebGLTexture::computeLevelCount):
27245        (WebCore::WebGLTexture::update):
27246        (WebCore::WebGLTexture::getLevelInfo):
27247        * html/canvas/WebGLTexture.h:
27248        (WebCore::WebGLTexture::LevelInfo::setInfo):
27249        * html/canvas/WebGLUniformLocation.cpp:
27250        (WebCore::WebGLUniformLocation::create):
27251        (WebCore::WebGLUniformLocation::WebGLUniformLocation):
27252        (WebCore::WebGLUniformLocation::location):
27253        * html/canvas/WebGLUniformLocation.h:
27254        * platform/graphics/GraphicsContext3D.h: Map GC3Dboolean to bool instead of unsigned char.
27255
272562011-01-13  Jian Li  <jianli@chromium.org>
27257
27258        Reviewed by Darin Fisher.
27259
27260        Change createObjectURL and revokeObjectURL to put under webkitURL.
27261        https://bugs.webkit.org/show_bug.cgi?id=52257
27262
27263        Note that we add "webkit" vendor prefix to URL that is introduced in
27264        the latest File API spec.
27265
27266        For the time being, we implement webkitURL as a readonly attribute
27267        instead of a constructor so that we will not expose prototype property,
27268        as required by the spec.
27269
27270        * Android.derived.jscbindings.mk:
27271        * Android.derived.v8bindings.mk:
27272        * Android.mk:
27273        * CMakeLists.txt:
27274        * DerivedSources.cpp:
27275        * DerivedSources.make:
27276        * GNUmakefile.am:
27277        * WebCore.gypi:
27278        * WebCore.pri:
27279        * WebCore.pro:
27280        * WebCore.vcproj/WebCore.vcproj:
27281        * WebCore.xcodeproj/project.pbxproj:
27282        * html/DOMURL.cpp: Added.
27283        * html/DOMURL.h: Added.
27284        * html/DOMURL.idl: Added.
27285        * inspector/front-end/NetworkPanel.js:
27286        * inspector/front-end/utilities.js:
27287        * page/DOMWindow.cpp:
27288        (WebCore::DOMWindow::webkitURL):
27289        * page/DOMWindow.h:
27290        * page/DOMWindow.idl:
27291        * workers/WorkerContext.cpp:
27292        (WebCore::WorkerContext::webkitURL):
27293        * workers/WorkerContext.h:
27294        * workers/WorkerContext.idl:
27295
272962011-01-13  Emil Eklund  <eae@chromium.org>
27297
27298        Reviewed by Dimitri Glazkov.
27299
27300        Setting outerText should convert CR/LF to <br>
27301        https://bugs.webkit.org/show_bug.cgi?id=52268
27302
27303        Make set outerText support line breaks (sharing the text to fragment code
27304        with setInnerText) and handle empty text nodes the same way IE does.
27305
27306        Test: fast/dom/set-outer-text.html
27307
27308        * html/HTMLElement.cpp:
27309        (WebCore::HTMLElement::textToFragment): Shared between setInnerText and setOuterText
27310        (WebCore::HTMLElement::setInnerText): Split out text parsing code.
27311        (WebCore::mergeWithNextTextNode): Split out text node merging code.
27312        (WebCore::HTMLElement::setOuterText): Added support for line breaks.
27313        * html/HTMLElement.h:
27314
273152011-01-13  Zhenyao Mo  <zmo@google.com>
27316
27317        Reviewed by Kenneth Russell.
27318
27319        Relax the ESSL valid charset a little bit to include " ' `
27320        https://bugs.webkit.org/show_bug.cgi?id=52396
27321
27322        * html/canvas/WebGLRenderingContext.cpp:
27323
273242011-01-13  Adrienne Walker  <enne@google.com>
27325
27326        Reviewed by Kenneth Russell.
27327
27328        [chromium] Attempt to fix crash in tiled compositor memcpy
27329        https://bugs.webkit.org/show_bug.cgi?id=52379
27330
27331        * platform/graphics/chromium/LayerTilerChromium.cpp:
27332        (WebCore::LayerTilerChromium::update):
27333
273342011-01-13  Dimitri Glazkov  <dglazkov@chromium.org>
27335
27336        Unreviewed, rolling out r75725.
27337        http://trac.webkit.org/changeset/75725
27338        https://bugs.webkit.org/show_bug.cgi?id=52317
27339
27340        Caused crashes in layout tests.
27341
27342        * css/CSSStyleSelector.cpp:
27343        (WebCore::CSSStyleSelector::initForStyleResolve):
27344        * html/HTMLInputElement.cpp:
27345        (WebCore::HTMLInputElement::updateType):
27346        * html/InputType.cpp:
27347        * html/InputType.h:
27348        * html/RangeInputType.cpp:
27349        * html/RangeInputType.h:
27350        * html/shadow/SliderThumbElement.cpp:
27351        (WebCore::SliderThumbElement::defaultEventHandler):
27352        (WebCore::SliderThumbElement::detach):
27353        * html/shadow/SliderThumbElement.h:
27354        (WebCore::SliderThumbElement::SliderThumbElement):
27355        (WebCore::SliderThumbElement::create):
27356        * rendering/MediaControlElements.cpp:
27357        (WebCore::MediaControlInputElement::attach):
27358        (WebCore::MediaControlInputElement::updateStyle):
27359        * rendering/RenderSlider.cpp:
27360        (WebCore::RenderSlider::~RenderSlider):
27361        (WebCore::RenderSlider::styleDidChange):
27362        (WebCore::RenderSlider::createThumbStyle):
27363        (WebCore::RenderSlider::thumbRect):
27364        (WebCore::RenderSlider::layout):
27365        (WebCore::RenderSlider::updateFromElement):
27366        (WebCore::RenderSlider::mouseEventIsInThumb):
27367        (WebCore::RenderSlider::mouseEventOffsetToThumb):
27368        (WebCore::RenderSlider::setValueForPosition):
27369        (WebCore::RenderSlider::positionForOffset):
27370        (WebCore::RenderSlider::currentPosition):
27371        (WebCore::RenderSlider::trackSize):
27372        (WebCore::RenderSlider::forwardEvent):
27373        (WebCore::RenderSlider::inDragMode):
27374        * rendering/RenderSlider.h:
27375
273762011-01-12  Dimitri Glazkov  <dglazkov@chromium.org>
27377
27378        Reviewed by Darin Adler.
27379
27380        Flip input[type=range] to use the new shadow DOM model.
27381        https://bugs.webkit.org/show_bug.cgi?id=52317
27382
27383        This is a straight-up flip, minimal change to the logic, which will be
27384        refactored in a follow-up patch.
27385
27386        Covered by existing tests.
27387
27388        * css/CSSStyleSelector.cpp:
27389        (WebCore::CSSStyleSelector::initForStyleResolve): Changed to use either
27390            host or parent node to find parent.
27391        * html/HTMLInputElement.cpp:
27392        (WebCore::HTMLInputElement::updateType): Added logic for destroying/creating
27393            shadow DOM subtree.
27394        * html/InputType.cpp:
27395        (WebCore::InputType::createShadowSubtree): Added empty decl.
27396        (WebCore::InputType::destroyShadowSubtree): Added a method to destroy
27397            shadow subtree.
27398        * html/InputType.h: Added defs.
27399        * html/RangeInputType.cpp:
27400        (WebCore::RangeInputType::createShadowSubtree): Added a virtual method to create
27401            slider thumb.
27402        * html/RangeInputType.h: Adde def.
27403        * html/shadow/SliderThumbElement.cpp: Added temporary RenderSliderThumb class
27404            to handle cascading appearance.
27405        (WebCore::RenderSliderThumb::RenderSliderThumb): Added.
27406        (WebCore::RenderSliderThumb::layout): Moved here the logic from
27407            RenderSlider::createThumbStyle.
27408        (WebCore::SliderThumbElement::createRenderer): Added virtual method to
27409            create RenderSliderThumb instance.
27410        (WebCore::SliderThumbElement::defaultEventHandler): Changed to use HTMLDivElement
27411            as base class.
27412        (WebCore::SliderThumbElement::detach): Ditto.
27413        * html/shadow/SliderThumbElement.h:
27414        (WebCore::SliderThumbElement::SliderThumbElement): Ditto.
27415        (WebCore::SliderThumbElement::create): Ditto.
27416        (WebCore::toSliderThumbElement): Added a casting helper.
27417        * rendering/MediaControlElements.cpp:
27418        (WebCore::MediaControlInputElement::attach): Added handling of shadow DOM,
27419            since the whole method is hand-rolled.
27420        (WebCore::MediaControlInputElement::updateStyle): Ditto.
27421        * rendering/RenderSlider.cpp:
27422        (WebCore::RenderSlider::~RenderSlider): Removed unneeded code.
27423        (WebCore::RenderSlider::thumbRect): Changed to use sliderThumbElement helper.
27424        (WebCore::RenderSlider::layout): Ditto.
27425        (WebCore::RenderSlider::sliderThumbElement): Added a temporary helper to access
27426            SliderThumbElement.
27427        (WebCore::RenderSlider::mouseEventIsInThumb): Changed to use sliderThumbElement helper.
27428        (WebCore::RenderSlider::mouseEventOffsetToThumb): Ditto.
27429        (WebCore::RenderSlider::setValueForPosition): Ditto.
27430        (WebCore::RenderSlider::positionForOffset): Ditto.
27431        (WebCore::RenderSlider::currentPosition): Ditto.
27432        (WebCore::RenderSlider::trackSize): Ditto.
27433        (WebCore::RenderSlider::forwardEvent): Ditto.
27434        (WebCore::RenderSlider::inDragMode): Ditto.
27435        * rendering/RenderSlider.h: Added def.
27436
274372011-01-13  Dan Bernstein  <mitz@apple.com>
27438
27439        Reviewed by Simon Fraser.
27440
27441        <rdar://problem/8098442> Crash in Widget::setFrameRect()
27442        https://bugs.webkit.org/show_bug.cgi?id=52375
27443
27444        Test: plugins/destroy-on-setwindow.html
27445
27446        * platform/mac/WidgetMac.mm:
27447        (WebCore::Widget::setFrameRect): Protect the Widget from being deleted as a result of calling
27448        out to the view.
27449        (WebCore::Widget::getOuterView): Coding style fix.
27450        (WebCore::Widget::paint): Protect the Widget from being deleted as a result of calling out to
27451        the views. This is precautionary, since this function does not applear to access member variables
27452        after such calls.
27453        * platform/wx/WidgetWx.cpp:
27454        (WebCore::Widget::setFrameRect): Protect the Widget from being deleted as a result of calling
27455        out to the platform widget.
27456
274572011-01-13  Csaba Osztrogonác  <ossy@webkit.org>
27458
27459        Unreviewed buildfix after r75715.
27460
27461        * WebCore.pri:
27462        * WebCore.pro:
27463
274642011-01-13  Pavel Feldman  <pfeldman@chromium.org>
27465
27466        Not reviewed: Qt build fix.
27467
27468        * WebCore.pri:
27469
274702011-01-12  Pavel Feldman  <pfeldman@chromium.org>
27471
27472        Reviewed by Yury Semikhatsky.
27473
27474        Web Inspector: embed injected script into the backend.
27475        https://bugs.webkit.org/show_bug.cgi?id=52312
27476
27477        InjectedScript belongs to the backend of the system and
27478        should be exposed by means of protocol, not InjectedScriptAccess.
27479        This patch makes injected script a part of the backend.
27480        It introduces single manual generation step (xxd -i) that should be
27481        automated by the build scripts for all the platforms.
27482
27483        * CMakeLists.txt:
27484        * DerivedSources.make:
27485        * GNUmakefile.am:
27486        * WebCore.gyp/WebCore.gyp:
27487        * WebCore.gypi:
27488        * WebCore.pro:
27489        * WebCore.vcproj/WebCore.vcproj:
27490        * WebCore.xcodeproj/project.pbxproj:
27491        * bindings/js/JSInjectedScriptHostCustom.cpp:
27492        (WebCore::InjectedScriptHost::injectedScriptFor):
27493        * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
27494        (WebCore::InjectedScriptHost::injectedScriptFor):
27495        * inspector/InjectedScriptHost.cpp:
27496        (WebCore::InjectedScriptHost::injectedScriptSource):
27497        * inspector/InjectedScriptHost.h:
27498        * inspector/Inspector.idl:
27499        * inspector/InspectorController.cpp:
27500        (WebCore::InspectorController::restoreInspectorStateFromCookie):
27501        * inspector/InspectorState.cpp:
27502        (WebCore::InspectorState::InspectorState):
27503        * inspector/InspectorState.h:
27504        * inspector/front-end/InjectedScript.js: Removed.
27505        * inspector/front-end/WebKit.qrc:
27506        * inspector/front-end/inspector.html:
27507        * inspector/front-end/inspector.js:
27508        (WebInspector.doLoadedDone.propertyNamesCallback):
27509        (WebInspector.doLoadedDone):
27510        * inspector/xxd.pl: Added.
27511
275122011-01-13  Mikhail Naganov  <mnaganov@chromium.org>
27513
27514        Reviewed by Timothy Hatcher.
27515
27516        Web Inspector: Cleanup after r75613 -- make all UI-facing strings
27517        to be passed directly to WebInspector.UIString
27518
27519        https://bugs.webkit.org/show_bug.cgi?id=52365
27520
27521        * English.lproj/localizedStrings.js:
27522        * inspector/front-end/ApplicationCacheItemsView.js:
27523        (WebInspector.ApplicationCacheItemsView.prototype._updateCallback):
27524        (WebInspector.ApplicationCacheItemsView.prototype._populateDataGrid):
27525        * inspector/front-end/AuditRules.js:
27526        (WebInspector.AuditRules.GzipRule.prototype.doRun):
27527        (WebInspector.AuditRules.CookieSizeRule.prototype.processCookies):
27528        (WebInspector.AuditRules.StaticCookielessRule.prototype.processCookies):
27529        * inspector/front-end/BreakpointsSidebarPane.js:
27530        (WebInspector.EventListenerBreakpointsSidebarPane):
27531        (WebInspector.EventListenerBreakpointsSidebarPane.prototype._createCategory):
27532        * inspector/front-end/CookieItemsView.js:
27533        (WebInspector.CookieItemsView.prototype._updateWithCookies):
27534        * inspector/front-end/ImageView.js:
27535        (WebInspector.ImageView.prototype._createContentIfNeeded.onImageLoad):
27536        (WebInspector.ImageView.prototype._createContentIfNeeded):
27537        * inspector/front-end/NetworkPanel.js:
27538        (WebInspector.NetworkTimeCalculator.prototype.formatValue):
27539        (WebInspector.NetworkTransferTimeCalculator.prototype.formatValue):
27540        (WebInspector.NetworkTransferDurationCalculator.prototype.formatValue):
27541        * inspector/front-end/ProfileDataGridTree.js:
27542        (WebInspector.ProfileDataGridNode.prototype.get data.formatMilliseconds):
27543        (WebInspector.ProfileDataGridNode.prototype.get data):
27544        * inspector/front-end/Resource.js:
27545        (WebInspector.Resource.Type.toUIString):
27546        (WebInspector.Resource.Type.toString):
27547        * inspector/front-end/TimelineOverviewPane.js:
27548        (WebInspector.TimelineOverviewCalculator.prototype.formatValue):
27549        * inspector/front-end/TimelinePanel.js:
27550        (WebInspector.TimelinePanel):
27551        (WebInspector.TimelineCalculator.prototype.formatValue):
27552        (WebInspector.TimelinePanel.FormattedRecord.prototype._generateAggregatedInfo):
27553        (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
27554        (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
27555        * inspector/front-end/utilities.js:
27556        ():
27557
275582011-01-13  Viatcheslav Ostapenko  <ostapenko.viatcheslav@nokia.com>
27559
27560        Reviewed by Simon Hausmann.
27561
27562        [Qt] Need a way to inform the application when a Netscape plugin is created.
27563        https://bugs.webkit.org/show_bug.cgi?id=30179
27564
27565        Added "c" style static method for the application to hook up for
27566        receiving notifications when a plugin is created.
27567
27568        * plugins/symbian/PluginViewSymbian.cpp:
27569        (qtwebkit_setPluginCreatedCallback):
27570        (WebCore::PluginView::platformStart):
27571
275722011-01-13  Yi Shen  <yi.4.shen@nokia.com>
27573
27574        Reviewed by Eric Seidel.
27575
27576        [Qt] Use a black background color for the video element on Qt Mobile
27577        https://bugs.webkit.org/show_bug.cgi?id=52252
27578
27579        Use black as the background color for the video element on Qt Mobile.
27580
27581        * css/themeQtMobile.css:
27582        (video):
27583
275842011-01-13  Yi Shen  <yi.4.shen@nokia.com>
27585
27586        Reviewed by Eric Seidel.
27587
27588        [Qt] Use a big central media play control button for video element 
27589        https://bugs.webkit.org/show_bug.cgi?id=52315
27590
27591        When ChromeClient::requiresFullscreenForVideoPlayback() returns true,
27592        all other control buttons for the video element are hidden, except 
27593        a big centralized play button.
27594
27595        No new tests because no client implements requiresFullscreenForVideoPlayback yet.
27596
27597        * WebCore.pri:
27598        * css/mediaControlsQtFullscreen.css: Added.
27599        (audio):
27600        (audio::-webkit-media-controls-panel):
27601        (video::-webkit-media-controls-panel):
27602        (video:-webkit-full-page-media::-webkit-media-controls-panel):
27603        (audio::-webkit-media-controls-mute-button):
27604        (video::-webkit-media-controls-mute-button):
27605        (audio::-webkit-media-controls-play-button):
27606        (video::-webkit-media-controls-play-button):
27607        (audio::-webkit-media-controls-timeline-container):
27608        (video::-webkit-media-controls-timeline-container):
27609        (audio::-webkit-media-controls-current-time-display):
27610        (video::-webkit-media-controls-current-time-display):
27611        (audio::-webkit-media-controls-time-remaining-display, video::-webkit-media-controls-time-remaining-display):
27612        (audio::-webkit-media-controls-timeline):
27613        (video::-webkit-media-controls-timeline):
27614        (audio::-webkit-media-controls-volume-slider-container):
27615        (video::-webkit-media-controls-volume-slider-container):
27616        (audio::-webkit-media-controls-volume-slider):
27617        (video::-webkit-media-controls-volume-slider):
27618        (audio::-webkit-media-controls-seek-back-button, video::-webkit-media-controls-seek-back-button):
27619        (audio::-webkit-media-controls-seek-forward-button, video::-webkit-media-controls-seek-forward-button):
27620        (audio::-webkit-media-controls-fullscreen-button):
27621        (video::-webkit-media-controls-fullscreen-button):
27622        (audio::-webkit-media-controls-rewind-button, video::-webkit-media-controls-rewind-button):
27623        (audio::-webkit-media-controls-return-to-realtime-button, video::-webkit-media-controls-return-to-realtime-button):
27624        (audio::-webkit-media-controls-toggle-closed-captions-button, video::-webkit-media-controls-toggle-closed-captions-button):
27625        * platform/qt/RenderThemeQt.cpp:
27626        (WebCore::RenderThemeQt::extraMediaControlsStyleSheet):
27627
276282011-01-13  Carlos Garcia Campos  <cgarcia@igalia.com>
27629
27630        Reviewed by Xan Lopez.
27631
27632        [GTK] Paint toggle buttons inconsistent when the object state is indeterminate
27633        https://bugs.webkit.org/show_bug.cgi?id=52361
27634
27635        Check whether the object state is indeterminate to set the flag
27636        GTK_STATE_FLAG_INCONSISTENT before rendering check and radio
27637        buttons.
27638
27639        * platform/gtk/RenderThemeGtk3.cpp:
27640        (WebCore::paintToggle):
27641
276422011-01-13  Yi Shen  <yi.4.shen@nokia.com>
27643
27644        Reviewed by Simon Hausmann.
27645
27646        [Qt] Extend the Platform Plugin to support full screen video handler
27647        https://bugs.webkit.org/show_bug.cgi?id=51249
27648
27649        Make MediaPlayerPrivateQt support a fullscreen player.
27650
27651        No new tests because LayoutTests/media/media-fullscreen-inline.html already exists.
27652        However, this test failed for Qt (QtMediaPlayer) due to durationchange event getting fired twice.
27653        So, still skip it for Qt.
27654
27655        * WebCore.pro:
27656        * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
27657        (WebCore::MediaPlayerPrivateQt::MediaPlayerPrivateQt):
27658        (WebCore::MediaPlayerPrivateQt::removeVideoItem):
27659        (WebCore::MediaPlayerPrivateQt::restoreVideoItem):
27660        * platform/graphics/qt/MediaPlayerPrivateQt.h:
27661        (WebCore::MediaPlayerPrivateQt::supportsFullscreen):
27662        (WebCore::MediaPlayerPrivateQt::mediaPlayer):
27663
276642011-01-13  Dan Bernstein  <mitz@apple.com>
27665
27666        Reviewed by Dave Hyatt.
27667
27668        <rdar://problem/8858548> Disable inheritance of text emphasis marks to ruby text
27669        https://bugs.webkit.org/show_bug.cgi?id=52359
27670
27671        Test: fast/ruby/text-emphasis.html
27672
27673        * css/html.css:
27674        (rt):
27675
276762011-01-13  Csaba Osztrogonác  <ossy@webkit.org>
27677
27678        Rubber-stamped by David Levin.
27679
27680        Trivial fix after r75682.
27681
27682        * loader/FrameLoader.cpp: Remove accidentally committed debug code.
27683        (WebCore::FrameLoader::shouldClose):
27684
276852011-01-12  Ryosuke Niwa  <rniwa@webkit.org>
27686
27687        Reviewed by Eric Seidel.
27688
27689        REGRESSION(r69831): focus() in onkeypress discards input (affects chaseonline.chase.com)
27690        https://bugs.webkit.org/show_bug.cgi?id=52241
27691
27692        The bug was caused by RenderTextControl::selection's creating a Range with m_insertText
27693        which is a shadow DOM div as both start and end containers. Fixed the bug by traversing
27694        through the descendents of m_innerText and using the right start and end containers to
27695        create a Range.
27696
27697        Test: fast/forms/focus-change-on-keypress.html
27698
27699        * rendering/RenderTextControl.cpp:
27700        (WebCore::setContainerAndOffsetForRange): Added; a helper function.
27701        (WebCore::RenderTextControl::selection): See above.
27702
277032011-01-12  Kenichi Ishibashi  <bashi@google.com>
27704
27705        Reviewed by Kent Tamura.
27706
27707        M_formElementsWithFormAttribute not cleared when FormAssociatedElement is inserted with a null m_form and then removed.
27708        https://bugs.webkit.org/show_bug.cgi?id=51905
27709
27710        Calls unregisterFormElementWithFormAttribute() when 'form' attribute
27711        is removed.
27712
27713        Tests: fast/forms/form-associated-element-crash.html
27714               fast/forms/form-associated-element-crash2.html
27715
27716        * html/FormAssociatedElement.cpp:
27717        (WebCore::FormAssociatedElement::formAttributeChanged):
27718
277192011-01-12  Kenichi Ishibashi  <bashi@google.com>
27720
27721        Reviewed by Kent Tamura.
27722
27723        M_formElementsWithFormAttribute not cleared when Node is moved to another document.
27724        https://bugs.webkit.org/show_bug.cgi?id=51418
27725
27726        Calls unregisterFormElementWithFormAttribute() when form associated elements
27727        are moved to another document.
27728
27729        Test: fast/forms/change-form-element-document-crash.html
27730
27731        * html/FormAssociatedElement.cpp:
27732        (WebCore::FormAssociatedElement::willMoveToNewOwnerDocument): Added.
27733        * html/FormAssociatedElement.h: Added willMoveToNewOwnerDocument().
27734        * html/HTMLFormControlElement.cpp:
27735        (WebCore::HTMLFormControlElement::willMoveToNewOwnerDocument): Added.
27736        * html/HTMLFormControlElement.h: Added willMoveToNewOwnerDocument().
27737        * html/HTMLObjectElement.cpp:
27738        (WebCore::HTMLObjectElement::willMoveToNewOwnerDocument): Added.
27739        * html/HTMLObjectElement.h: Added willMoveToNewOwnerDocument().
27740        * html/HTMLPlugInImageElement.h: Moves willMoveToNewOwnerDocument() to protected.
27741
277422011-01-12  Ryosuke Niwa  <rniwa@webkit.org>
27743
27744        Reviewed by Eric Seidel.
27745
27746        Stop instantiating legacy editing positions in ApplyBlockElementCommand and ApplyStyleCommand
27747        https://bugs.webkit.org/show_bug.cgi?id=52250
27748
27749        Removed instantiation of legacy editing positions.
27750        Calls to Position::Position are replaced by calls to Position's convenience functions.
27751
27752        Also added firstPositionInOrBeforeNode and lastPositionInOrAfterNode,
27753        which are functions that return firstPositionInNode and lastPositionInNode respectively
27754        when the specified node can have children for editing purpose and return positionBeforeNode
27755        and positionAfterNode respectively otherwise. They can be used to guarantee that we never
27756        create a bogus position like [img, 0] or [br, 0].
27757
27758        No tests are added since this is a cleanup.
27759
27760        * editing/ApplyBlockElementCommand.cpp:
27761        (WebCore::ApplyBlockElementCommand::formatSelection):
27762        * editing/ApplyStyleCommand.cpp:
27763        (WebCore::ApplyStyleCommand::applyBlockStyle):
27764        (WebCore::ApplyStyleCommand::fixRangeAndApplyInlineStyle):
27765        (WebCore::ApplyStyleCommand::highestAncestorWithConflictingInlineStyle):
27766        (WebCore::ApplyStyleCommand::removeInlineStyle):
27767        (WebCore::ApplyStyleCommand::nodeFullySelected):
27768        (WebCore::ApplyStyleCommand::nodeFullyUnselected):
27769        (WebCore::ApplyStyleCommand::splitTextAtStart):
27770        (WebCore::ApplyStyleCommand::splitTextAtEnd):
27771        (WebCore::ApplyStyleCommand::splitTextElementAtStart):
27772        (WebCore::ApplyStyleCommand::splitTextElementAtEnd):
27773        (WebCore::ApplyStyleCommand::isValidCaretPositionInTextNode):
27774        (WebCore::ApplyStyleCommand::mergeStartWithPreviousIfIdentical):
27775        (WebCore::ApplyStyleCommand::mergeEndWithNextIfIdentical):
27776        (WebCore::ApplyStyleCommand::computedFontSize):
27777        (WebCore::ApplyStyleCommand::joinChildTextNodes):
27778        * editing/ApplyStyleCommand.h:
27779        * editing/htmlediting.h:
27780        (WebCore::firstPositionInOrBeforeNode): Added.
27781        (WebCore::lastPositionInOrAfterNode): Added.
27782
277832011-01-12  Sam Weinig  <sam@webkit.org>
27784
27785        Another build fix.
27786
27787        * platform/mac/WheelEventMac.mm:
27788        (WebCore::phaseForEvent):
27789
277902011-01-12  Sam Weinig  <sam@webkit.org>
27791
27792        Fix build.
27793
27794        * platform/mac/WheelEventMac.mm:
27795        (WebCore::phaseForEvent):
27796
277972011-01-12  Adam Barth  <abarth@webkit.org>
27798
27799        Reviewed by Darin Adler.
27800
27801        Remove premature optimization from SchemeRegistry
27802        https://bugs.webkit.org/show_bug.cgi?id=52283
27803
27804        As far as I can tell, this optimization isn't necessary.  I'm slightly
27805        unsure which benchmarks to run to demonstrate this numerically, but
27806        none of the benchmarks Chromium tracks were affected by adding a
27807        similar check for "display-isolated" schemes.
27808
27809        * platform/SchemeRegistry.cpp:
27810        (WebCore::SchemeRegistry::shouldTreatURLSchemeAsLocal):
27811
278122011-01-12  Beth Dakin  <bdakin@apple.com>
27813
27814        Reviewed by Anders Carlsson.
27815
27816        Add-on for https://bugs.webkit.org/show_bug.cgi?id=52309 
27817        Expose fixed layout through WebKit SPI
27818        -and corresponding-
27819        <rdar://problem/8844464>
27820
27821        And now with getters!
27822        * WebCore.exp.in:
27823
278242011-01-12  Sam Weinig  <sam@webkit.org>
27825
27826        Reviewed by Anders Carlsson.
27827
27828        https://bugs.webkit.org/show_bug.cgi?id=52337
27829        PlatformWheelEvent should know about the scroll phase on the Mac
27830
27831        Add a phase parameter on Mac PlatformWheelEvents.
27832
27833        * platform/PlatformWheelEvent.h:
27834        (WebCore::PlatformWheelEvent::PlatformWheelEvent):
27835        (WebCore::PlatformWheelEvent::phase):
27836        * platform/mac/WheelEventMac.mm:
27837        (WebCore::phaseForEvent):
27838        (WebCore::PlatformWheelEvent::PlatformWheelEvent):
27839
278402011-01-12  Chris Marrin  <cmarrin@apple.com>
27841
27842        Unreviewed.
27843
27844        A couple of lines of the patch for https://bugs.webkit.org/show_bug.cgi?id=52321
27845        were omitted. 
27846
27847        * platform/graphics/ca/GraphicsLayerCA.cpp:
27848        (WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers):
27849
278502011-01-12  Chris Marrin  <cmarrin@apple.com>
27851
27852        Unreviewed.
27853
27854        Getting rid of an assert that was causing build failures that turns out not to be needed.
27855
27856        * rendering/RenderLayer.cpp:
27857        (WebCore::RenderLayer::paintsWithTransform):
27858
278592011-01-12  Chris Marrin  <cmarrin@apple.com>
27860
27861        Unreviewed.
27862
27863        Another fix for Gtk
27864
27865        * rendering/RenderLayer.cpp:
27866        (WebCore::RenderLayer::paintsWithTransform):
27867
278682011-01-12  Chris Marrin  <cmarrin@apple.com>
27869
27870        Unreviewed.
27871
27872        Fix for Gtk and Windows builds
27873
27874        * page/Frame.cpp:
27875        (WebCore::Frame::scalePage):
27876        * page/Frame.h:
27877        * platform/graphics/ca/win/PlatformCALayerWin.cpp:
27878        (PlatformCALayer::contentsScale):
27879        (PlatformCALayer::setContentsScale):
27880
278812011-01-12  Chris Marrin  <cmarrin@apple.com>
27882
27883        UNreviewed.
27884
27885        Fix for the Windows build
27886
27887        * platform/graphics/ca/win/PlatformCALayerWin.cpp:
27888        (contentsScale):
27889        (setContentsScale):
27890
278912011-01-12  Chris Marrin  <cmarrin@apple.com>
27892
27893        Unreviewed.
27894
27895        Another build fix
27896
27897        * platform/graphics/ca/GraphicsLayerCA.cpp:
27898        (WebCore::GraphicsLayerCA::clampedContentsScaleForScale):
27899        * platform/graphics/ca/mac/PlatformCALayerMac.mm:
27900        (PlatformCALayer::setContentsScale):
27901
279022011-01-11  Matthew Delaney  <mdelaney@apple.com>
27903
27904        Reviewed by Simon Fraser.
27905
27906        Max area bound needed in creation of IOSurface in ImageBufferCG.cpp
27907        https://bugs.webkit.org/show_bug.cgi?id=52172
27908
27909        Tests: fast/canvas/canvas-large-dimensions.html
27910
27911        * platform/graphics/cg/ImageBufferCG.cpp:
27912        (WebCore::ImageBuffer::ImageBuffer):
27913
279142011-01-12  Daniel Bates  <dbates@rim.com>
27915            And Benjamin C Meyer  <bmeyer@rim.com>
27916
27917        Build fix when building with Inspector disabled
27918        https://bugs.webkit.org/show_bug.cgi?id=52313
27919
27920        After changeset 75604 <http://trac.webkit.org/changeset/75604> it's not
27921        possible to build when the Inspector is disabled.
27922
27923        * inspector/InspectorInstrumentation.h:
27924        (WebCore::InspectorInstrumentation::updateApplicationCacheStatus): Fix build breakage when building
27925        with Inspector disabled and Offline Web Applications enabled by moving macro guard condition
27926        ENABLE(INSPECTOR) && ENABLE(OFFLINE_WEB_APPLICATIONS) into function body. This makes us also
27927        consistent with the form we use for InspectorInstrumentation::networkStateChanged() and other
27928        InspectorInstrumentation functions.
27929        * loader/appcache/ApplicationCacheGroup.cpp:
27930        (WebCore::ApplicationCacheGroup::didReceiveData): Fix build breakage when building with Inspector
27931        disabled by adding ENABLE(INSPECTOR) guard around code that references the instance variable
27932        ApplicationCacheGroup::m_currentResourceIdentifier as this variable only exists when building
27933        with the Inspector.
27934        (WebCore::ApplicationCacheGroup::didFinishLoading): Ditto.
27935        (WebCore::ApplicationCacheGroup::didFail): Ditto.
27936
279372011-01-12  Chris Marrin  <cmarrin@apple.com>
27938
27939        Unreviewed.
27940
27941        Fix a build issue from http://trac.webkit.org/changeset/75639.
27942
27943        * platform/graphics/GraphicsLayer.h:
27944        (WebCore::GraphicsLayer::contentsScale):
27945        (WebCore::GraphicsLayer::setContentsScale):
27946
279472011-01-12  Chris Marrin  <cmarrin@apple.com>
27948
27949        Reviewed by Kevin Decker.
27950
27951        Pages with accelerated layers lose subpixel-AA and become blurry when a scale factor is applied
27952        rdar://problem/8824974
27953
27954        This prevents the rootLayer (with the WebKit rendered content) from going becoming
27955        a tiled layer when zoomed, and when there is other layered content on the page.
27956        This speeds up zooming a lot and avoids some buggy behavior in CA with a very large
27957        number of layers.
27958        
27959        * rendering/RenderLayer.cpp:
27960        (WebCore::RenderLayer::paintsWithTransform):
27961        * rendering/RenderLayer.h:
27962        * rendering/RenderLayerBacking.cpp:
27963        (WebCore::RenderLayerBacking::paintingGoesToWindow):
27964
279652011-01-12  Chris Marrin  <cmarrin@apple.com>
27966
27967        Reviewed by Simon Fraser.
27968        
27969        Pages with accelerated layers lose subpixel-AA and become blurry when a scale factor is applied
27970        rdar://problem/8824974
27971
27972        When scaled, WebKit renders the page content at the scaled up size, so there are no
27973        scaling artifacts. But content drawn into a layer's backing store does not scale up.
27974        This is made worse by the fact that the root page contents become layered when there
27975        are other accelerated compositing layers present (video, plugins, etc.).
27976        
27977        Plumb scaling factor from Frame::scalePage() down into all layers with content. It
27978        eventually calls CALayer::setContentsScale which renders to a backing store whose dimensions
27979        are scaled, causing them to render larger and appear pixel perfect at the scaled
27980        page size.
27981 
27982         * page/Frame.cpp:
27983         (WebCore::Frame::updateContentsScale):
27984         (WebCore::Frame::scalePage):
27985         * page/Frame.h:
27986         * platform/graphics/GraphicsLayer.h:
27987         * platform/graphics/ca/GraphicsLayerCA.cpp:
27988         (WebCore::GraphicsLayerCA::setContentsScale):
27989         (WebCore::GraphicsLayerCA::clampedContentsScaleForScale):
27990         * platform/graphics/ca/GraphicsLayerCA.h:
27991         (WebCore::GraphicsLayerCA::contentsScale):
27992         * platform/graphics/ca/PlatformCALayer.h:
27993         * platform/graphics/ca/mac/PlatformCALayerMac.mm:
27994         (PlatformCALayer::contentsScale):
27995         (PlatformCALayer::setContentsScale):
27996         * rendering/RenderLayer.cpp:
27997         (WebCore::RenderLayer::updateContentsScale):
27998         * rendering/RenderLayer.h:
27999         * rendering/RenderLayerBacking.cpp:
28000         (WebCore::RenderLayerBacking::createGraphicsLayer):
28001         (WebCore::RenderLayerBacking::updateForegroundLayer):
28002         (WebCore::RenderLayerBacking::updateMaskLayer):
28003         (WebCore::RenderLayerBacking::updateContentsScale):
28004         * rendering/RenderLayerBacking.h:
28005         * rendering/RenderLayerCompositor.cpp:
28006         (WebCore::RenderLayerCompositor::updateContentsScale):
28007         * rendering/RenderLayerCompositor.h:
28008 
280092011-01-12  Stephen White  <senorblanco@chromium.org>
28010
28011        Reviewed by James Robinson.
28012
28013        Fix DrawingBuffer issues for depth/stencil, extensions, etc.
28014        https://bugs.webkit.org/show_bug.cgi?id=52310
28015
28016        1)  GL_TEXTURE is not a valid argument to glFramebufferTexture2D()
28017        (should be GL_TEXTURE_2D).
28018        2)  Support for the multisampling extension was being checked after
28019        the DrawingBuffer constructor was called, which calls multisample()
28020        to check for the extension.
28021        3)  If depth or stencil is set, the corresponding framebuffers must
28022        be created in the DrawingBuffer constructor.
28023        4)  GL_DEPTH_STENCIL is not a valid framebuffer internal type in
28024        GLES2.  Must use GL_OES_DEPTH24_STENCIL8, and check for the
28025        OES_packed_depth_stencil extension.
28026
28027        * platform/graphics/chromium/DrawingBufferChromium.cpp:
28028        (WebCore::DrawingBuffer::DrawingBuffer):
28029        Record the extension support in the constructor.  Create all the
28030        secondary drawing buffers (for multisampling, depth/stencil).
28031        * platform/graphics/gpu/DrawingBuffer.cpp:
28032        (WebCore::DrawingBuffer::create):
28033        Check for the extensions before calling the DrawingBuffer constructor.
28034        (WebCore::DrawingBuffer::createSecondaryBuffers):
28035        Refactor creation of the secondary buffers from DrawingBufferMac.mm to
28036        here.
28037        (WebCore::DrawingBuffer::reset):
28038        Use DEPTH24_STENCIL8 format, not DEPTH_STENCIL.  Use
28039        DEPTH_COMPONENT16, not DEPTH_COMPONENT.
28040        Use GL_TEXTURE_2D, not GL_TEXTURE (for glFramebufferTexture2D).
28041        * platform/graphics/gpu/DrawingBuffer.h:
28042        Refactor createSecondaryBuffers().  Add extension support arguments to
28043        constructor.  Add support for packed_depth_stencil extension.
28044        * platform/graphics/gpu/mac/DrawingBufferMac.mm:
28045        (WebCore::DrawingBuffer::DrawingBuffer):
28046        Record extension support in constructor.  Refactor out creation of
28047        secondary buffers.
28048
280492011-01-12  Beth Dakin  <bdakin@apple.com>
28050
28051        Reviewed by Anders Carlsson.
28052
28053        Fix for https://bugs.webkit.org/show_bug.cgi?id=52309 Expose
28054        fixed layout through WebKit SPI
28055        -and corresponding-
28056        <rdar://problem/8844464>
28057
28058        Export symbols for ScrollView::setUseFixedLayout() and 
28059        ScrollView::setFixedLayoutSize()
28060        * WebCore.exp.in:
28061
280622011-01-12  Robert Hogan  <robert@webkit.org>
28063
28064        Reviewed by Kenneth Rohde Christiansen.
28065
28066        [Qt] Search input field doesn't have cancel button
28067
28068        Add a cancel button to the search field and make it customizable
28069        by the client. For now, use the close dialog button associated
28070        with the application's style as the default.
28071
28072        Unskip a bunch of search field related tests that pass now:
28073
28074        fast/forms/search-cancel-button-mouseup.html
28075        fast/forms/search-rtl.html
28076        fast/forms/search-abs-pos-cancel-button.html
28077        fast/forms/search-styled.html
28078        fast/forms/search-transformed.html
28079        fast/forms/search-zoomed.html
28080        fast/forms/search-cancel-button-style-sharing.html
28081        fast/forms/search-display-none-cancel-button.html
28082        fast/forms/search-placeholder-value-changed.html
28083        fast/repaint/search-field-cancel.html
28084        fast/forms/search-cancel-button-events.html
28085
28086        https://bugs.webkit.org/show_bug.cgi?id=42887
28087
28088        * platform/graphics/qt/ImageQt.cpp:
28089        (loadResourcePixmap):
28090        * platform/qt/RenderThemeQt.cpp:
28091        (WebCore::RenderThemeQt::isControlStyled):
28092        (WebCore::RenderThemeQt::computeSizeBasedOnStyle):
28093        (WebCore::RenderThemeQt::paintSearchField):
28094        (WebCore::RenderThemeQt::adjustSearchFieldStyle):
28095        (WebCore::RenderThemeQt::adjustSearchFieldCancelButtonStyle):
28096        (WebCore::RenderThemeQt::convertToPaintingRect):
28097        (WebCore::RenderThemeQt::paintSearchFieldCancelButton):
28098        * platform/qt/RenderThemeQt.h:
28099
281002011-01-12  Andrey Kosyakov  <caseq@chromium.org>
28101
28102        Reviewed by Pavel Feldman.
28103
28104        Web Inspector: cookie table is multiplied after repeated switching to cookies tab in network item view
28105        Only create cookiesTable is it hasn't been done yet.
28106        https://bugs.webkit.org/show_bug.cgi?id=52303
28107
28108        * inspector/front-end/ResourceCookiesView.js:
28109        (WebInspector.ResourceCookiesView.prototype.show):
28110
281112011-01-12  Koan-Sin Tan  <koansin.tan@gmail.com>
28112
28113        Reviewed by Martin Robinson.
28114
28115        [Gtk] WebKitGtk+ doesn't build on Mac OS X 10.6
28116        https://bugs.webkit.org/show_bug.cgi?id=50867
28117
28118        * config.h: Don't disallow ctype for (OS(DARWIN) && PLATFORM(GTK))
28119        Many GTK+ related files include <libintl.h> or <glib/gi18n-lib.h>.
28120        On Mac, <libintl.h> includes <xlocale.h>. <xclocale.h> includes 
28121        <xlocale/_ctype.h>, which uses isacii().
28122        * platform/UUID.cpp:
28123        (WebCore::createCanonicalUUIDString): For OS(DARWIN) && !PLATFORM(CF)
28124        use the Chromium Linux UUID generation.
28125
281262011-01-12  Simon Fraser  <simon.fraser@apple.com>
28127
28128        Reviewed by Eric Seidel.
28129
28130        [CSS Gradients] One color stop should not paint anything for linear-gradient
28131        https://bugs.webkit.org/show_bug.cgi?id=52259
28132        
28133        Share color stop parsing code between linear and radial gradients.
28134        Consider the gradient invalid if it has less than two color stops.
28135
28136        * css/CSSParser.cpp:
28137        (WebCore::CSSParser::parseLinearGradient):
28138        (WebCore::CSSParser::parseRadialGradient):
28139        (WebCore::CSSParser::parseGradientColorStops):
28140        * css/CSSParser.h:
28141
281422011-01-12  Mikhail Naganov  <mnaganov@chromium.org>
28143
28144        Reviewed by Pavel Feldman.
28145
28146        Fix inconsistencies in Inspector strings found by the new check-inspector-strings script.
28147
28148        https://bugs.webkit.org/show_bug.cgi?id=52295
28149
28150        * English.lproj/localizedStrings.js:
28151        * inspector/front-end/BreakpointsSidebarPane.js:
28152        (WebInspector.EventListenerBreakpointsSidebarPane):
28153        * inspector/front-end/ProfilesPanel.js:
28154        (WebInspector.ProfilesPanel.prototype.setRecordingProfile):
28155        * inspector/front-end/Resource.js:
28156        (WebInspector.Resource.Type.toString):
28157        * inspector/front-end/ResourcesPanel.js:
28158        (WebInspector.ResourceRevisionTreeElement):
28159        * inspector/front-end/utilities.js:
28160        ():
28161
281622011-01-12  Yury Semikhatsky  <yurys@chromium.org>
28163
28164        Unreviewed. Fix WML compilation on Mac.
28165
28166        * wml/WMLInputElement.cpp:
28167        (WebCore::WMLInputElement::setValue):
28168        (WebCore::WMLInputElement::setValueForUser):
28169        (WebCore::WMLInputElement::initialize):
28170        (WebCore::WMLInputElement::validateInputMask):
28171        * wml/WMLSelectElement.cpp:
28172        (WebCore::WMLSelectElement::listBoxSelectItem):
28173
281742011-01-12  Justin Schuh  <jschuh@chromium.org>
28175
28176        Unreviewed build fix for debug strict compiles.
28177
28178        Use fprintf for debug statements instead of fwrite, which caused compile failures
28179        in debug strict mode because of failure to check the fwrite return value.
28180
28181        No behavior changed.
28182
28183        * rendering/CounterNode.cpp:
28184        (WebCore::showTreeAndMark):
28185
281862010-12-29  Yury Semikhatsky  <yurys@chromium.org>
28187
28188        Reviewed by Pavel Feldman.
28189
28190        inspector/timeline-network-resource.html fails when run twice
28191        https://bugs.webkit.org/show_bug.cgi?id=37394
28192
28193        Send didReceiveResponse notification to the timeline agent from ResourceLoadNotifier
28194        instead of ResourceLoader::didReceiveResponse to cover the cases when resources
28195        are loaded from memory cache.
28196
28197        Network notifications are now sent to InspectorInstrumentation which dispatches
28198        them to interested agents and InspectorController.
28199
28200        * inspector/Inspector.idl:
28201        * inspector/InspectorApplicationCacheAgent.cpp:
28202        (WebCore::InspectorApplicationCacheAgent::didReceiveManifestResponse):
28203        * inspector/InspectorController.cpp:
28204        (WebCore::InspectorController::InspectorController):
28205        (WebCore::InspectorController::didCommitLoad):
28206        (WebCore::InspectorController::willSendRequest):
28207        (WebCore::InspectorController::didReceiveResponse):
28208        (WebCore::InspectorController::didFailLoading):
28209        (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
28210        * inspector/InspectorController.h:
28211        * inspector/InspectorInstrumentation.cpp:
28212        (WebCore::InspectorInstrumentation::identifierForInitialRequestImpl):
28213        (WebCore::InspectorInstrumentation::willSendRequestImpl):
28214        (WebCore::InspectorInstrumentation::markResourceAsCachedImpl):
28215        (WebCore::InspectorInstrumentation::didLoadResourceFromMemoryCacheImpl):
28216        (WebCore::InspectorInstrumentation::willReceiveResourceResponseImpl):
28217        (WebCore::InspectorInstrumentation::didReceiveContentLengthImpl):
28218        (WebCore::InspectorInstrumentation::didFinishLoadingImpl):
28219        (WebCore::InspectorInstrumentation::didFailLoadingImpl):
28220        (WebCore::InspectorInstrumentation::resourceRetrievedByXMLHttpRequestImpl):
28221        (WebCore::InspectorInstrumentation::scriptImportedImpl):
28222        (WebCore::InspectorInstrumentation::retrieveResourceAgent):
28223        * inspector/InspectorInstrumentation.h:
28224        (WebCore::InspectorInstrumentation::identifierForInitialRequest):
28225        (WebCore::InspectorInstrumentation::willSendRequest):
28226        (WebCore::InspectorInstrumentation::markResourceAsCached):
28227        (WebCore::InspectorInstrumentation::didLoadResourceFromMemoryCache):
28228        (WebCore::InspectorInstrumentation::willReceiveResourceResponse):
28229        (WebCore::InspectorInstrumentation::didReceiveContentLength):
28230        (WebCore::InspectorInstrumentation::didFinishLoading):
28231        (WebCore::InspectorInstrumentation::didFailLoading):
28232        (WebCore::InspectorInstrumentation::resourceRetrievedByXMLHttpRequest):
28233        (WebCore::InspectorInstrumentation::scriptImported):
28234        * inspector/InspectorResourceAgent.cpp:
28235        (WebCore::InspectorResourceAgent::identifierForInitialRequest):
28236        * inspector/InspectorResourceAgent.h:
28237        * inspector/InspectorTimelineAgent.cpp:
28238        (WebCore::InspectorTimelineAgent::willSendResourceRequest):
28239        * inspector/InspectorTimelineAgent.h:
28240        * inspector/TimelineRecordFactory.cpp:
28241        (WebCore::TimelineRecordFactory::createResourceSendRequestData):
28242        * inspector/TimelineRecordFactory.h:
28243        * inspector/front-end/NetworkManager.js:
28244        (WebInspector.NetworkManager.prototype.identifierForInitialRequest):
28245        * inspector/front-end/TimelinePanel.js:
28246        (WebInspector.TimelinePanel.prototype.addRecordToTimeline):
28247        * loader/FrameLoader.cpp:
28248        (WebCore::FrameLoader::loadedResourceFromMemoryCache):
28249        * loader/ResourceLoadNotifier.cpp:
28250        (WebCore::ResourceLoadNotifier::didReceiveResponse):
28251        (WebCore::ResourceLoadNotifier::didFailToLoad):
28252        (WebCore::ResourceLoadNotifier::assignIdentifierToInitialRequest):
28253        (WebCore::ResourceLoadNotifier::dispatchWillSendRequest):
28254        (WebCore::ResourceLoadNotifier::dispatchDidReceiveResponse):
28255        (WebCore::ResourceLoadNotifier::dispatchDidReceiveContentLength):
28256        (WebCore::ResourceLoadNotifier::dispatchDidFinishLoading):
28257        (WebCore::ResourceLoadNotifier::sendRemainingDelegateMessages):
28258        * loader/ResourceLoader.cpp:
28259        (WebCore::ResourceLoader::didReceiveResponse):
28260        * loader/appcache/ApplicationCacheGroup.cpp:
28261        (WebCore::ApplicationCacheGroup::createResourceHandle):
28262        (WebCore::ApplicationCacheGroup::didReceiveResponse):
28263        (WebCore::ApplicationCacheGroup::didReceiveData):
28264        (WebCore::ApplicationCacheGroup::didFinishLoading):
28265        (WebCore::ApplicationCacheGroup::didFail):
28266        * loader/appcache/ApplicationCacheGroup.h:
28267        * workers/DefaultSharedWorkerRepository.cpp:
28268        (WebCore::SharedWorkerScriptLoader::notifyFinished):
28269        * workers/Worker.cpp:
28270        (WebCore::Worker::notifyFinished):
28271        * workers/WorkerContext.cpp:
28272        (WebCore::WorkerContext::importScripts):
28273        * xml/XMLHttpRequest.cpp:
28274        (WebCore::XMLHttpRequest::didFinishLoading):
28275
282762011-01-12  Pavel Podivilov  <podivilov@chromium.org>
28277
28278        Reviewed by Pavel Feldman.
28279
28280        Web Inspector: do not replace all tabs with spaces when editing script source
28281        https://bugs.webkit.org/show_bug.cgi?id=52291
28282
28283        * inspector/front-end/SourceFrame.js:
28284        (WebInspector.SourceFrame.prototype.setContent):
28285        (WebInspector.SourceFrame.prototype._editLine):
28286
282872011-01-11  Jeremy Orlow  <jorlow@chromium.org>
28288
28289        Reviewed by Nate Chapin.
28290
28291        Enforce READ_ONLY transactions in IndexedDB
28292        https://bugs.webkit.org/show_bug.cgi?id=52229
28293
28294        Add READ_ONLY_ERR and return it whenever delete or put
28295        are called.  Note that IDBCursor's delete and update
28296        are simply aliases for delete/put, which is why no
28297        extra code is required to handle those cases.
28298
28299        Test: storage/indexeddb/transaction-read-only.html
28300
28301        * dom/ExceptionCode.cpp:
28302        * storage/IDBCursorBackendImpl.cpp:
28303        (WebCore::IDBCursorBackendImpl::deleteFunction):
28304        * storage/IDBDatabase.idl:
28305        * storage/IDBDatabaseException.h:
28306        * storage/IDBDatabaseException.idl:
28307        * storage/IDBObjectStoreBackendImpl.cpp:
28308        (WebCore::IDBObjectStoreBackendImpl::put):
28309        (WebCore::IDBObjectStoreBackendImpl::deleteFunction):
28310        (WebCore::IDBObjectStoreBackendImpl::deleteIndex):
28311
283122011-01-11  Philippe Normand  <pnormand@igalia.com>
28313
28314        Reviewed by Eric Seidel.
28315
28316        [GTK] minimal build breaks in RenderThemeGtk3
28317        https://bugs.webkit.org/show_bug.cgi?id=52202
28318
28319        * platform/gtk/RenderThemeGtk3.cpp: Added VIDEO guards around
28320        initMediaColors().
28321
283222011-01-11  Philippe Normand  <pnormand@igalia.com>
28323
28324        Reviewed by Eric Carlson.
28325
28326        [GStreamer] PlatformVideoWindowMac implementation
28327        https://bugs.webkit.org/show_bug.cgi?id=50770
28328
28329        This new implementation will be used on Mac OS to display the
28330        fullscreen video window with the GStreamer-based media player.
28331
28332        * platform/graphics/gstreamer/GStreamerGWorld.cpp:
28333        (WebCore::gstGWorldSyncMessageCallback):
28334        * platform/graphics/gstreamer/PlatformVideoWindow.h:
28335        (WebCore::PlatformVideoWindow::window):
28336        * platform/graphics/gstreamer/PlatformVideoWindowMac.mm:
28337        (PlatformVideoWindow::PlatformVideoWindow):
28338        (PlatformVideoWindow::~PlatformVideoWindow):
28339        (PlatformVideoWindow::prepareForOverlay):
28340
283412011-01-11  Simon Fraser  <simon.fraser@apple.com>
28342
28343        Reviewed by Dan Bernstein.
28344
28345        Webkit crashes when a gradient is applied using the first-line pseudo element
28346        https://bugs.webkit.org/show_bug.cgi?id=52225
28347        
28348        When a pseudostyle references images, we fail to register/unregister
28349        the relevant RenderObjects as clients of the image in the style.
28350        For gradients, this caused a crash.
28351        
28352        This patch fixes the crash by returning a null gradient image in this
28353        situation.
28354
28355        Test: fast/gradients/gradient-on-pseudoelement-crash.html
28356
28357        * css/CSSGradientValue.cpp:
28358        (WebCore::CSSGradientValue::image):
28359
283602011-01-11  Andy Estes  <aestes@apple.com>
28361
28362        Reviewed by Darin Adler.
28363
28364        REGRESSION (r71562): servePendingRequests() no longer called when
28365        resources are done loading.
28366        https://bugs.webkit.org/show_bug.cgi?id=52264
28367        <rdar://problem/8767429>
28368        
28369        In r71562, servePendingRequests() is no longer called in Loader's
28370        didFinishLoading(), didFail() and didReceiveResponse() methods. Since
28371        r71562 was intended only as a refactoring, these calls should be
28372        restored. At least one WebKit-based Mac OS X application relies on this
28373        for correct behavior.
28374
28375        * loader/cache/CachedResourceLoader.cpp:
28376        (WebCore::CachedResourceLoader::loadDone): Call
28377        resourceLoadScheduler()->servePendingRequests().
28378
283792011-01-11  Patrick Gansterer  <paroga@webkit.org>
28380
28381        Reviewed by Eric Seidel.
28382
28383        Add Document::setContent()
28384        https://bugs.webkit.org/show_bug.cgi?id=52085
28385
28386        Add a method to Document to set the whole content at once.
28387        This removes the hack of the insert method in the xml parser
28388        and is a predecessor to feed the xml parser with raw data.
28389
28390        * dom/Document.cpp:
28391        (WebCore::Document::setContent):
28392        * dom/Document.h:
28393        * dom/XMLDocumentParser.cpp:
28394        (WebCore::XMLDocumentParser::insert): Added ASSERT_NOT_REACHED().
28395        * loader/cache/CachedFont.cpp:
28396        (WebCore::CachedFont::ensureSVGFontData): Use setContent.
28397        * xml/DOMParser.cpp:
28398        (WebCore::DOMParser::parseFromString): Ditto.
28399        * xml/XMLHttpRequest.cpp:
28400        (WebCore::XMLHttpRequest::responseXML): Ditto.
28401        * xml/XSLTProcessor.cpp:
28402        (WebCore::XSLTProcessor::createDocumentFromSource): Ditto.
28403
284042011-01-11  Brent Fulgham  <bfulgham@webkit.org>
28405
28406        Unreviewed build fix.
28407
28408        * platform/graphics/cairo/PathCairo.cpp:
28409        (WebCore::Path::addArc): Switch to MathExtra's piFloat define,
28410        rather than M_PI which is not always available.
28411
284122011-01-11  Nicolas Dufresne  <nicolas.dufresne@collabora.co.uk>
28413
28414        Reviewed by Adam Barth.
28415
28416        Use plug-in DB for extensions to MIME type convertion
28417
28418        Plugins extension to MIME type conversion was not used in the
28419        frameLoader. This was causing some fallback to be use which as the side
28420        effect of loosing all the <OBJECT> parameters or <EMBED> attributes.
28421        This patch ensure that we try to convert the extension to MIME type
28422        using the plugin database beofre using this fallback.
28423
28424        Attribute lost with Flash plugin without mime type set
28425        https://bugs.webkit.org/show_bug.cgi?id=50657
28426
28427        Test: plugins/no-mime-with-valid-extension.html
28428
28429        * loader/FrameLoader.cpp:
28430        (WebCore::FrameLoader::defaultObjectContentType): Use PluginDatabase for MIME
28431
284322011-01-11  James Simonsen  <simonjam@chromium.org>
28433
28434        Reviewed by Eric Seidel.
28435
28436        [Web Timing] Rename sslHandshakeStart to secureConnectionStart
28437        https://bugs.webkit.org/show_bug.cgi?id=52239
28438
28439        * page/PerformanceTiming.cpp:
28440        (WebCore::PerformanceTiming::secureConnectionStart):
28441        * page/PerformanceTiming.h:
28442        * page/PerformanceTiming.idl:
28443
284442011-01-11  Adam Barth  <abarth@webkit.org>
28445
28446        Reviewed by Eric Seidel.
28447
28448        Introduce the notion of a "display-isolated" URL scheme for use by
28449        Chrome-internal URLs
28450        https://bugs.webkit.org/show_bug.cgi?id=50182
28451
28452        This patch actually makes the display-isolated schemes display
28453        isolated.  The behavior should be the same as the previous iteration of
28454        this patch, but re-organized a bit because reading the access white
28455        list is expensive.
28456
28457        * page/SecurityOrigin.cpp:
28458        (WebCore::SecurityOrigin::isAccessToURLWhiteListed):
28459        (WebCore::SecurityOrigin::canDisplay):
28460        * page/SecurityOrigin.h:
28461        * platform/SchemeRegistry.cpp:
28462        * platform/SchemeRegistry.h:
28463
284642011-01-11  Mihai Parparita  <mihaip@chromium.org>
28465
28466        Reviewed by Darin Fisher.
28467
28468        Scroll event should be fired asynchronously
28469        https://bugs.webkit.org/show_bug.cgi?id=45631
28470
28471        Tests: fast/events/fire-scroll-event.html
28472               fast/events/fire-scroll-event-element.html
28473               fast/events/scroll-event-phase.html
28474
28475        Makes scroll events fire asynchronously to be in compliance with the
28476        CSSOM View Module and consistent with Gecko, Opera and (to some degree)
28477        IE.
28478        
28479        Implemented via the EventQueue class added by r74062 (EventQueue now
28480        has a convenience enqueueScrollEvent method).
28481
28482        * dom/EventQueue.cpp:
28483        (WebCore::EventQueue::enqueueScrollEvent):
28484        (WebCore::EventQueue::pendingEventTimerFired):
28485        * dom/EventQueue.h:
28486        * page/EventHandler.cpp:
28487        (WebCore::EventHandler::sendScrollEvent):
28488        * rendering/RenderLayer.cpp:
28489        (WebCore::RenderLayer::scrollToOffset):
28490        * rendering/RenderListBox.cpp:
28491        (WebCore::RenderListBox::valueChanged):
28492
284932011-01-11  Patrick Gansterer  <paroga@webkit.org>
28494
28495        Unreviewed WinCE build fix for r75523.
28496
28497        * platform/wince/DragDataWinCE.cpp: Added missing include.
28498
284992011-01-11  Abhishek Arya  <inferno@chromium.org>
28500
28501        Reviewed by Dimitri Glazkov.
28502
28503        RefPtr the FrameView to prevent scrollbar from getting deleted inside
28504        its scroll event.
28505        https://bugs.webkit.org/show_bug.cgi?id=52238
28506
28507        Test: scrollbars/scrollable-iframe-remove-crash.html
28508
28509        * page/DOMWindow.cpp:
28510        (WebCore::DOMWindow::scrollTo):
28511
285122011-01-08  Dimitri Glazkov  <dglazkov@chromium.org>
28513
28514        Reviewed by David Hyatt.
28515
28516        Make pseudo-style resolution less hard-coded when used to select a shadow node
28517        https://bugs.webkit.org/show_bug.cgi?id=46595
28518
28519        Essentially implements the plumbing for the XBL2 pseudo attribute:
28520        http://dev.w3.org/2006/xbl2/#the-pseudo-attribute
28521
28522        Test: fast/css/unknown-pseudo-element-matching.html
28523
28524        * css/CSSGrammar.y: Changed to handle specifier_list structure with the
28525            CSSParser::updateSpecifierWithElementName helper, added logic to
28526            keep unknown pseudo-element selectors at the top of the selector chain,
28527            so that we can easily check for them and grab them, and also because
28528            they would either not match anything or act as a descendant selector
28529            (descendant into a shadow DOM subtree that is), not a specifier.
28530        * css/CSSParser.cpp:
28531        (WebCore::CSSParser::updateSpecifiersWithElementName): Generalized/combined
28532            the logic adding element name to selectors and added the special case
28533            to handle unknown pseudo-element selectors.
28534        * css/CSSParser.h: Added def.
28535        * css/CSSSelector.cpp:
28536        (WebCore::CSSSelector::pseudoId): Removed any mention of PseudoSliderThumb/SLIDER_THUMB.
28537        (WebCore::nameToPseudoTypeMap): Ditto.
28538        (WebCore::CSSSelector::extractPseudoType): Ditto.
28539        * css/CSSSelector.h: Added a new ShadowDescendant relation type,
28540            removed PseudoSliderThumb def.
28541        (WebCore::CSSSelector::isUnknownPseudoElement): Added a helper method.
28542        * css/CSSSelectorList.cpp:
28543        (WebCore::SelectorHasUnknownPseudoElementFunctor::operator()): Added a functor
28544            to check for an unknown pseudo-element in the list.
28545        (WebCore::CSSSelectorList::hasUnknownPseudoElements): Added.
28546        * css/CSSSelectorList.h: Added a def.
28547        * css/CSSStyleSelector.cpp:
28548        (WebCore::CSSRuleSet::getPseudoRules): Added accessor to pseudo-element hash.
28549        (WebCore::CSSStyleSelector::matchRules): Added matching pseudo elements.
28550        (WebCore::CSSStyleSelector::SelectorChecker::checkSelector): Added handling
28551            of ShadowDescendant relation.
28552        (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): Enabled handling
28553            of unknown pseudo-element selectors.
28554        (WebCore::CSSRuleSet::addRule): Added populating unknown pseudo-element hash.
28555        * css/html.css:
28556        (input[type="range"]::-webkit-slider-thumb): Added previously-hard-coded
28557            display:block.
28558        * dom/Element.h:
28559        (WebCore::Element::shadowPseudoId): Added new virtual method to allow
28560            elements to provide the value of pseudo-element selector they would match.
28561        * dom/Node.cpp:
28562        (WebCore::Node::querySelector): Added checking for unknown pseudo-element selectors,
28563            so that we can throw a SYNTAX_ERR if found.
28564        (WebCore::Node::querySelectorAll): Ditto.
28565        * html/shadow/SliderThumbElement.h:
28566        (WebCore::SliderThumbElement::shadowPseudoId): Added to return "-webkit-slider-thumb";
28567        * rendering/RenderSlider.cpp:
28568        (WebCore::RenderSlider::createThumbStyle): Changed to use the new styleForElement logic.
28569        * rendering/style/RenderStyleConstants.h: Removed SLIDER_THUMB.
28570
285712011-01-11  Dean Jackson  <dino@apple.com>
28572
28573        Reviewed by Simon Fraser.
28574
28575        https://bugs.webkit.org/show_bug.cgi?id=52233
28576
28577        WebKitCSSMatrix constructor should accept 'none'
28578        as a valid string parameter.
28579
28580        * css/WebKitCSSMatrix.cpp:
28581        (WebCore::WebKitCSSMatrix::setMatrixValue):
28582
285832011-01-11  James Robinson  <jamesr@chromium.org>
28584
28585        Reviewed by Dimitri Glazkov.
28586
28587        Set all RenderBlocks as replaced when an inline display type is specified
28588        https://bugs.webkit.org/show_bug.cgi?id=50858
28589
28590        When a RenderBlock is created for an element with a specified display:inline style,
28591        it should always be treated as inline-block.  This situations often comes up for form
28592        controls.  Previously, RenderBlock::styleWillChange set the replaced flag for display
28593        values of inline-block, inline-table, and inline-table and a number of subclasses of
28594        RenderBlock set the replaced flag in styleDidChange for a display:inline.  However
28595        sometimes new subclasses would miss this step leading to bugs (such as with RenderDetails).
28596        This patch sets the replaced flag for all inline display types in RenderBlock::styleWillChange.
28597
28598        Code cleanup only, no change in behavior so no new tests.
28599
28600        * rendering/RenderBlock.cpp:
28601        (WebCore::RenderBlock::styleWillChange):
28602        * rendering/RenderButton.cpp:
28603        (WebCore::RenderButton::styleDidChange):
28604        * rendering/RenderFieldset.cpp:
28605        * rendering/RenderFieldset.h:
28606        * rendering/RenderFileUploadControl.cpp:
28607        (WebCore::RenderFileUploadControl::styleDidChange):
28608        * rendering/RenderListBox.cpp:
28609        * rendering/RenderListBox.h:
28610        * rendering/RenderMenuList.cpp:
28611        (WebCore::RenderMenuList::styleDidChange):
28612        * rendering/RenderSlider.cpp:
28613        (WebCore::RenderSlider::styleDidChange):
28614        * rendering/RenderTextControl.cpp:
28615        (WebCore::RenderTextControl::styleDidChange):
28616
286172011-01-11  Dimitri Glazkov  <dglazkov@chromium.org>
28618
28619        Reviewed by Eric Seidel.
28620
28621        REGRESSION(r71934) Can't type in search edit field on skin-one.com
28622        https://bugs.webkit.org/show_bug.cgi?id=52195
28623
28624        Restored the original behavior, where the selectstart event is not
28625        dispatched when selection changes inside of the shadow DOM.
28626
28627        * dom/Node.cpp:
28628        (WebCore::determineDispatchBehavior): Moved EventDispatchBehavior-determining
28629            logic into a helper function, also added a check to keep selectstart
28630                events inside of the shadow DOM.
28631        (WebCore::Node::dispatchGenericEvent): Changed to use the helper function.
28632
286332011-01-11  Viatcheslav Ostapenko  <ostapenko.viatcheslav@nokia.com>
28634
28635        Reviewed by Eric Seidel.
28636
28637        [Qt] Provide plugin coordinates to windowless plugins on Symbian.
28638        https://bugs.webkit.org/show_bug.cgi?id=52213
28639
28640        * plugins/symbian/PluginViewSymbian.cpp:
28641        (WebCore::PluginView::setNPWindowIfNeeded):
28642
286432011-01-10  Zhenyao Mo  <zmo@google.com>
28644
28645        Reviewed by Kenneth Russell.
28646
28647        Need to consider UNPACK_ALIGNMENT in GraphicsContext3D::texImage2DResourceSafe
28648        https://bugs.webkit.org/show_bug.cgi?id=52068
28649
28650        * html/canvas/WebGLRenderingContext.cpp:
28651        (WebCore::WebGLRenderingContext::copyTexImage2D): Use computeImageSizeInBytes.
28652        (WebCore::WebGLRenderingContext::copyTexSubImage2D): Ditto.
28653        (WebCore::WebGLRenderingContext::readPixels): Ditto, and fix a bug on generating the wrong error.
28654        (WebCore::WebGLRenderingContext::texImage2DBase): Ditto.
28655        (WebCore::WebGLRenderingContext::validateTexFuncData): Use computeImageSizeInBytes.
28656        * platform/graphics/GraphicsContext3D.cpp:
28657        (WebCore::GraphicsContext3D::texImage2DResourceSafe): Add a new parameter alignment.
28658        (WebCore::GraphicsContext3D::computeFormatAndTypeParameters): Add more supported format/type.
28659        (WebCore::GraphicsContext3D::computeImageSizeInBytes): Added.
28660        * platform/graphics/GraphicsContext3D.h:
28661
286622011-01-10  Enrica Casucci  <enrica@apple.com>
28663
28664        Reviewed by Alexey Proskuryakov.
28665
28666        Paste and drag and drop use different code paths to interact with the pasteboard.
28667        https://bugs.webkit.org/show_bug.cgi?id=52093
28668        The change consists in a refactoring of the code to have only one class that
28669        deals with the pasteboard on Mac.
28670
28671        No new tests. A test is already available for this
28672        (editing/pasteboard/drag-image-to-contenteditable-in-iframe.html) but had incorrect results.
28673
28674        * WebCore.exp.in:
28675        * loader/EmptyClients.h: Added two Mac only methods to call into WebKit to use functionality
28676        that is in NSURLExtras.
28677        (WebCore::EmptyEditorClient::canonicalizeURL):
28678        (WebCore::EmptyEditorClient::canonicalizeURLString):
28679        * page/DragController.cpp:
28680        The following methods have been changed to pass a pointer to the Frame object
28681        to the DragData class.
28682        (WebCore::documentFragmentFromDragData):
28683        (WebCore::DragController::performDrag):
28684        (WebCore::DragController::dispatchTextInputEventFor):
28685        (WebCore::DragController::concludeEditDrag):
28686        * page/EditorClient.h: Added two Mac only methods to call into WebKit to use functionality
28687        that is in NSURLExtras.
28688        The following files have been modified to pass the Frame object to the DragData method calls.
28689        * page/chromium/DragControllerChromium.cpp:
28690        (WebCore::DragController::dragOperation):
28691        * page/gtk/DragControllerGtk.cpp:
28692        (WebCore::DragController::dragOperation):
28693        * page/mac/DragControllerMac.mm:
28694        (WebCore::DragController::dragOperation):
28695        * page/qt/DragControllerQt.cpp:
28696        (WebCore::DragController::dragOperation):
28697        * page/win/DragControllerWin.cpp:
28698        (WebCore::DragController::dragOperation):
28699        * platform/DragData.h: Removed Mac specific constructor and reference to PasteboardHelper class.
28700        * platform/Pasteboard.h: Added public constructor to create a Pasteboard object from an NSPasteboard.
28701        The following files were all modified to match the new parameters of the methods listed.
28702        * platform/android/DragDataAndroid.cpp:
28703        (WebCore::DragData::asPlainText):
28704        (WebCore::DragData::containsURL):
28705        (WebCore::DragData::asURL):
28706        (WebCore::DragData::asFragment):
28707        * platform/chromium/DragDataChromium.cpp:
28708        (WebCore::DragData::containsURL):
28709        (WebCore::DragData::asURL):
28710        (WebCore::DragData::asPlainText):
28711        (WebCore::DragData::containsCompatibleContent):
28712        (WebCore::DragData::asFragment):
28713        * platform/gtk/DragDataGtk.cpp:
28714        (WebCore::DragData::asPlainText):
28715        (WebCore::DragData::containsCompatibleContent):
28716        (WebCore::DragData::containsURL):
28717        (WebCore::DragData::asURL):
28718        (WebCore::DragData::asFragment):
28719        * platform/haiku/DragDataHaiku.cpp:
28720        (WebCore::DragData::asPlainText):
28721        (WebCore::DragData::containsURL):
28722        (WebCore::DragData::asURL):
28723        (WebCore::DragData::asFragment):
28724        * platform/mac/DragDataMac.mm:
28725        (WebCore::DragData::DragData):
28726        (WebCore::DragData::asPlainText):
28727        (WebCore::insertablePasteboardTypes):
28728        (WebCore::DragData::containsCompatibleContent):
28729        (WebCore::DragData::containsURL):
28730        (WebCore::DragData::asURL):
28731        (WebCore::DragData::asFragment):
28732        * platform/mac/PasteboardMac.mm:
28733        (WebCore::Pasteboard::getBestURL):
28734        (WebCore::Pasteboard::asURL):
28735        * platform/qt/DragDataQt.cpp:
28736        (WebCore::DragData::asPlainText):
28737        (WebCore::DragData::containsCompatibleContent):
28738        (WebCore::DragData::containsURL):
28739        (WebCore::DragData::asURL):
28740        (WebCore::DragData::asFragment):
28741        * platform/win/DragDataWin.cpp:
28742        (WebCore::DragData::containsURL):
28743        (WebCore::DragData::asURL):
28744        (WebCore::DragData::asPlainText):
28745        (WebCore::DragData::containsCompatibleContent):
28746        (WebCore::DragData::asFragment):
28747        * platform/wince/DragDataWinCE.cpp:
28748        (WebCore::DragData::containsURL):
28749        (WebCore::DragData::asURL):
28750        (WebCore::DragData::asPlainText):
28751        (WebCore::DragData::asFragment):
28752        * platform/wx/DragDataWx.cpp:
28753        (WebCore::DragData::asPlainText):
28754        (WebCore::DragData::containsURL):
28755        (WebCore::DragData::asURL):
28756        (WebCore::DragData::asFragment):
28757
287582011-01-11  Abhishek Arya  <inferno@chromium.org>
28759
28760        Reviewed by Dimitri Glazkov.
28761
28762        RefPtr text node in setOuterText since calling appendData
28763        on a text node can fire away dom event listener which might
28764        remove the text node from underneath.
28765        https://bugs.webkit.org/show_bug.cgi?id=52163
28766
28767        Test: fast/dom/text-node-append-data-remove-crash.html
28768
28769        * html/HTMLElement.cpp:
28770        (WebCore::HTMLElement::setOuterText):
28771
287722011-01-11  Carlos Garcia Campos  <cgarcia@igalia.com>
28773
28774        Reviewed by Martin Robinson.
28775
28776        [GTK] Add support for <meter> element
28777        https://bugs.webkit.org/show_bug.cgi?id=48713
28778
28779        * GNUmakefile.am: Enable meter element.
28780
287812011-01-11  Csaba Osztrogonác  <ossy@webkit.org>
28782
28783        Unreviewed buildfix.
28784
28785        [Qt][V8] Add missing include for debug build.
28786
28787        * loader/cache/CachedResourceLoader.cpp:
28788
287892011-01-11  Pavel Feldman  <pfeldman@chromium.org>
28790
28791        Reviewed by Yury Semikhatsky.
28792
28793        Web Inspector: redirects are lost from the network panel upon navigation.
28794        https://bugs.webkit.org/show_bug.cgi?id=52210
28795
28796        * inspector/front-end/NetworkManager.js:
28797        (WebInspector.NetworkManager.prototype.didCommitLoadForFrame):
28798
287992011-01-11  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
28800
28801        Reviewed by Kenneth Rohde Christiansen.
28802
28803        [Qt] Remove uses of QFuture since it isn't supported on all platforms.
28804        https://bugs.webkit.org/show_bug.cgi?id=51204
28805
28806        * platform/network/qt/QtNAMThreadSafeProxy.cpp:
28807        (WebCore::QtNAMThreadSafeProxy::QtNAMThreadSafeProxy):
28808        (WebCore::QtNAMThreadSafeProxy::localCookiesForUrl):
28809        (WebCore::QtNAMThreadSafeProxy::localWillLoadFromCache):
28810        * platform/network/qt/QtNAMThreadSafeProxy.h:
28811        (WebCore::QtNAMThreadSafeProxy::cookiesForUrl):
28812        (WebCore::QtNAMThreadSafeProxy::willLoadFromCache):
28813
288142011-01-11  Pavel Podivilov  <podivilov@chromium.org>
28815
28816        Reviewed by Pavel Feldman.
28817
28818        Web Inspector: recreate script view after live edit.
28819        https://bugs.webkit.org/show_bug.cgi?id=51751
28820
28821        * inspector/front-end/Script.js:
28822        (WebInspector.Script.prototype.set source):
28823        * inspector/front-end/ScriptView.js:
28824        (WebInspector.ScriptView):
28825        * inspector/front-end/ScriptsPanel.js:
28826        (WebInspector.ScriptsPanel.prototype.editScriptSource.mycallback):
28827        (WebInspector.ScriptsPanel.prototype.editScriptSource):
28828        (WebInspector.ScriptsPanel.prototype.viewRecreated):
28829        * inspector/front-end/SourceFrame.js:
28830        (WebInspector.SourceFrame.prototype._doEditLine):
28831
288322011-01-11  Pavel Podivilov  <podivilov@chromium.org>
28833
28834        Reviewed by Pavel Feldman.
28835
28836        Web Inspector: frameDetachedFromParent notification handler is missing in NetworkManager.
28837        https://bugs.webkit.org/show_bug.cgi?id=52205
28838
28839        * inspector/front-end/NetworkManager.js:
28840        (WebInspector.NetworkManager.prototype.frameDetachedFromParent):
28841
288422011-01-11  Alexander Pavlov  <apavlov@chromium.org>
28843
28844        Reviewed by Pavel Feldman.
28845
28846        Web Inspector: "Audit present state" always disabled
28847        https://bugs.webkit.org/show_bug.cgi?id=52199
28848
28849        Removed all traces of resource tracking checks, as we have it no more.
28850
28851        * English.lproj/localizedStrings.js:
28852        * inspector/front-end/AuditLauncherView.js:
28853        (WebInspector.AuditLauncherView.prototype._createLauncherUI):
28854        * inspector/front-end/AuditsPanel.js:
28855
288562011-01-11  Pavel Podivilov  <podivilov@chromium.org>
28857
28858        Reviewed by Pavel Feldman.
28859
28860        Web Inspector: move delayed search implementation to SourceFrame.
28861        https://bugs.webkit.org/show_bug.cgi?id=51753
28862
28863        * inspector/front-end/SourceFrame.js:
28864        (WebInspector.SourceFrame.prototype._createViewerIfNeeded):
28865        (WebInspector.SourceFrame.prototype.findSearchMatches):
28866        (WebInspector.SourceFrame.prototype.cancelFindSearchMatches):
28867        * inspector/front-end/SourceView.js:
28868        (WebInspector.SourceView.prototype.hide):
28869        (WebInspector.SourceView.prototype.searchCanceled):
28870        (WebInspector.SourceView.prototype.performSearch.didFindSearchMatches):
28871        (WebInspector.SourceView.prototype.performSearch):
28872
288732011-01-11  Ilya Tikhonovsky  <loislo@chromium.org>
28874
28875        Reviewed by Pavel Feldman.
28876
28877        Web Inspector: innerFirstChild has a side effect which should be called explicitly.
28878
28879        If a node is a frame's owner then innerFirstChild method
28880        subscribes DOMAgent instance to the frame's doc's events.
28881        I think this should be done explicitly when we meet with
28882        the node for the first time. As I understand it happens
28883        in buildArrayForContainerChildren method.
28884
28885        https://bugs.webkit.org/show_bug.cgi?id=52204
28886
28887        * inspector/InspectorDOMAgent.cpp:
28888        (WebCore::InspectorDOMAgent::startListeningFrameDoc):
28889        (WebCore::InspectorDOMAgent::buildArrayForContainerChildren):
28890        (WebCore::InspectorDOMAgent::innerFirstChild):
28891        * inspector/InspectorDOMAgent.h:
28892
288932011-01-11  Adam Roben  <aroben@apple.com>
28894
28895        Delete WKCACFLayer.{cpp,h}
28896
28897        These have been unused since r75262
28898
28899        * platform/graphics/win/WKCACFLayer.cpp: Removed.
28900        * platform/graphics/win/WKCACFLayer.h: Removed.
28901
289022011-01-11  Pavel Feldman  <pfeldman@chromium.org>
28903
28904        Reviewed by Yury Semikhatsky.
28905
28906        Web Inspector: [regression] Cookies view does not allow columns resize.
28907        https://bugs.webkit.org/show_bug.cgi?id=51877
28908
28909        * inspector/front-end/CookieItemsView.js:
28910        (WebInspector.CookieItemsView.prototype._updateWithCookies):
28911
289122011-01-11  Noel Gordon  <noel.gordon@gmail.com>
28913
28914         Reviewed by James Robinson.
28915
28916         [chromium] canvas.toDataURL("image/jpeg") should composite onto black.
28917         https://bugs.webkit.org/show_bug.cgi?id=51237
28918
28919         The Canvas specification requires that the canvas image is composited using
28920         the Porter-Duff operator source-over onto a black background; the resultant
28921         image should be JPEG encoded and returned as a dataURL.  To composite image
28922         A and background B, for any Porter-Duff operator, produce pixels I with
28923
28924            I = c(A)F(A) + c(B)F(B)
28925
28926         where, F(X) is the fraction [0.0-1.0] contributed to the composite by image
28927         X, and c(X) are the premultiplied RGB color components of image X.  Note by
28928         definition, c(B) = 0 since the background is black, so I = c(A)F(A).  Since
28929         F(A) = 1 in Porter-Duff operator source-over, the composited pixels satisfy
28930         I = c(A).  Hence, to conform to the Canvas spec, pass the premultiplied RGB
28931         color components of the canvas image to the JPEG encoder.
28932
28933         Covered by canvas/philip/tests/toDataURL.jpeg.alpha.html
28934
28935         * platform/image-encoders/skia/JPEGImageEncoder.cpp:
28936         (WebCore::preMultipliedBGRAtoRGB): Use Porter-Duff source-over black.
28937
289382011-01-11  Pavel Feldman  <pfeldman@chromium.org>
28939
28940        Reviewed by Yury Semikhatsky.
28941
28942        Chromium DevTools: get rid of APU-related code in WebKit/chromium.
28943        https://bugs.webkit.org/show_bug.cgi?id=52152
28944
28945        * inspector/InspectorController.cpp:
28946        (WebCore::InspectorController::restoreInspectorStateFromCookie):
28947        (WebCore::InspectorController::setInjectedScriptSource):
28948        * inspector/InspectorState.cpp:
28949        (WebCore::InspectorState::InspectorState):
28950        * inspector/InspectorState.h:
28951        * inspector/front-end/inspector.js:
28952
289532011-01-11  Pavel Feldman  <pfeldman@chromium.org>
28954
28955        Reviewed by Yury Semikhatsky.
28956
28957        Web Inspector: [REGRESSION] Load timing is requested
28958        for all resources (not only for the main one).
28959        https://bugs.webkit.org/show_bug.cgi?id=51749
28960
28961        * inspector/InspectorController.cpp:
28962        (WebCore::InspectorController::willSendRequest):
28963        * loader/ResourceLoadNotifier.cpp:
28964        (WebCore::ResourceLoadNotifier::dispatchWillSendRequest):
28965
289662011-01-11  Carlos Garcia Campos  <cgarcia@igalia.com>
28967
28968        Reviewed by Martin Robinson.
28969
28970        [GTK] GRefPtr should not be used with Gtk widgets
28971        https://bugs.webkit.org/show_bug.cgi?id=51241
28972
28973        GRefPtr breaks the widget life-cycle, the main problem is
28974        that GRefPtr calls g_object_unref() when it's destroyed,
28975        which is undesirable for widgets. In gtk+ widgets are created with
28976        a floating reference and when added to a container, the container
28977        takes the ownership of the widget consuming the floating
28978        reference. So you don't usually need to call g_object_ref/unref on
28979        widgets (only for some operations like reparent a widget) and
28980        toplevel widgets are destroyed with gtk_widget_destroy().
28981
28982        * platform/ContextMenuItem.h:
28983        * platform/gtk/ContextMenuGtk.cpp:
28984        (WebCore::ContextMenu::ContextMenu):
28985        (WebCore::ContextMenu::~ContextMenu):
28986        (WebCore::ContextMenu::setPlatformDescription):
28987        * platform/gtk/ContextMenuItemGtk.cpp:
28988        (WebCore::ContextMenuItem::ContextMenuItem):
28989        (WebCore::ContextMenuItem::releasePlatformDescription):
28990        (WebCore::ContextMenuItem::type):
28991        (WebCore::ContextMenuItem::action):
28992        (WebCore::ContextMenuItem::setAction):
28993        (WebCore::ContextMenuItem::title):
28994        (WebCore::ContextMenuItem::setTitle):
28995        (WebCore::ContextMenuItem::platformSubMenu):
28996        (WebCore::ContextMenuItem::setSubMenu):
28997        (WebCore::ContextMenuItem::setChecked):
28998        (WebCore::ContextMenuItem::setEnabled):
28999
290002010-10-10  David Hyatt  <hyatt@apple.com>
29001
29002        Reviewed by Simon Fraser.
29003
29004        https://bugs.webkit.org/show_bug.cgi?id=51119, transformed 
29005        elements not responding properly to :hover after r73385.  
29006        Just use the entire document area as the hit test area, 
29007        since there appears to be a rounding bug/issues with relying 
29008        on float math when mapping the hit test area into
29009        transformed coordinates.
29010
29011        * rendering/RenderLayer.cpp:
29012        (WebCore::RenderLayer::hitTest):
29013
290142011-01-10  Stephen White  <senorblanco@chromium.org>
29015
29016        Reviewed by James Robinson.
29017
29018        Fix canvas->canvas draws on the GPU path.
29019        https://bugs.webkit.org/show_bug.cgi?id=52141
29020        
29021        Two problems:  according to the canvas spec, both source and
29022        destination rects can have negative width or height, but this shouldn't
29023        cause the image to be flipped.  So we need to normalize the rects (in
29024        the software path, this is done by BitmapImage*::draw).  Secondly, in
29025        the FBO->FBO path, the image needs to be flipped vertically, since it
29026        is drawn upside down.  We were doing this by flipping the destination
29027        rect, but this doesn't work if the source rect is not the entire image,
29028        since we extract the wrong part of the image.  Fixed by flipping the
29029        source rect instead (and flipping it within the image buffer's height,
29030        not the source rect's height).
29031
29032        Covered by fast/canvas/drawImage-with-negative-source-destination.html.
29033
29034
29035        * platform/graphics/skia/BitmapImageSingleFrameSkia.h:
29036        Put normalizeRect() in global scope.
29037        * platform/graphics/skia/ImageBufferSkia.cpp:
29038        (WebCore::ImageBuffer::draw):
29039        Fix as above:  normalize both source and dest rects, and flip the
29040        source rect instead of the dest rect.
29041        * platform/graphics/skia/ImageSkia.cpp:
29042        (WebCore::normalizeRect):
29043        Put normalizeRect() in global scope.
29044
290452011-01-10  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
29046
29047        Reviewed by Csaba Osztrogonác.
29048
29049        [Qt] Baseline qt_minimal configuration
29050        https://bugs.webkit.org/show_bug.cgi?id=51313
29051
29052        No new tests as there is no new functionality.
29053
29054        * platform/graphics/qt/GraphicsLayerQt.cpp: Fix the location of the
29055        QT_NO_ANIMATION guard.
29056
29057        * platform/qt/WheelEventQt.cpp:
29058        (WebCore::PlatformWheelEvent::applyDelta): Fix the location of the
29059        QT_NO_WHEELEVENT guard.
29060
290612011-01-10  Joe Mason  <jmason@rim.com>
29062
29063        Reviewed by Alexey Proskuryakov.
29064
29065        WebSockets: unbounded buffer growth when server sends bad data
29066        https://bugs.webkit.org/show_bug.cgi?id=51253
29067
29068        Fail a websocket handshake after 1024 bytes without a newline, or if it
29069        contains a null byte before the first newline.
29070
29071        Tests: http/tests/websocket/tests/handshake-fail-by-maxlength.html
29072               http/tests/websocket/tests/handshake-fail-by-prepended-null.html
29073
29074        * websockets/WebSocketHandshake.cpp:
29075        (WebCore::WebSocketHandshake::readStatusLine):
29076
290772011-01-10  Adam Barth  <abarth@webkit.org>
29078
29079        Reviewed by Darin Adler.
29080
29081        Introduce the notion of a "display-isolated" URL scheme for use by
29082        Chrome-internal URLs
29083        https://bugs.webkit.org/show_bug.cgi?id=50182
29084
29085        This patch adds the basic plumbing for display-isolated URL schemes.
29086        Originally, this patch also had the functional change, but I've split
29087        that off into a separate patch because the original patch caused a
29088        performance regression.
29089
29090        * page/SecurityOrigin.cpp:
29091        (WebCore::SecurityOrigin::canDisplay):
29092        * platform/SchemeRegistry.cpp:
29093        (WebCore::displayIsolatedURLSchemes):
29094        (WebCore::SchemeRegistry::registerURLSchemeAsLocal):
29095        (WebCore::SchemeRegistry::removeURLSchemeRegisteredAsLocal):
29096        (WebCore::SchemeRegistry::localSchemes):
29097        (WebCore::SchemeRegistry::deprecatedShouldTreatURLAsLocal):
29098        (WebCore::SchemeRegistry::shouldTreatURLSchemeAsLocal):
29099        (WebCore::SchemeRegistry::registerURLSchemeAsDisplayIsolated):
29100        (WebCore::SchemeRegistry::shouldTreatURLSchemeAsDisplayIsolated):
29101        * platform/SchemeRegistry.h:
29102
291032011-01-10  Jer Noble  <jer.noble@apple.com>
29104
29105        Reviewed by Simon Fraser.
29106
29107        https://bugs.webkit.org/show_bug.cgi?id=52095
29108        REGRESSION (r75277): 2 test cases (<1%) had incorrect layout
29109        
29110        Fixes tests:
29111            fullscreen/full-screen-remove-ancestor.html
29112            fullscreen/full-screen-remove.html
29113            
29114        Previously, the above tests were failing because DRT dumped the contents of their
29115        <script> tags, though all the explicit tests were passing.  This was caused by
29116        the document's render tree being left in an inconsistent state when a full screen
29117        element's ancestor was removed from the DOM.
29118        
29119        In nodeWillBeRemoved(), match the code in webkitDidExitFullScreen().
29120        Don't detach the documentElement, but rather simply call recalcStyle(Force).
29121
29122        * dom/Document.cpp:
29123        (WebCore::Document::nodeWillBeRemoved):
29124        * rendering/RenderFullScreen.cpp:
29125        (RenderFullScreen::setAnimating): #if ENABLED -> # if USE
29126        * rendering/RenderFullScreen.h:
29127        (WebCore::RenderFullScreen::RenderFullScreen): RenderFullScreen should be an anonymous renderer.
29128
291292011-01-10  Martin Robinson  <mrobinson@igalia.com>
29130
29131        Reviewed by Xan Lopez.
29132
29133        [GTK] Remove use of deprecated GTK+ methods before the 1.3.10 release
29134        https://bugs.webkit.org/show_bug.cgi?id=52173
29135
29136        No new tests. This is only a build fix.
29137
29138        * platform/gtk/GRefPtrGtk.cpp: Guard the GdkCursor specialization against GTK+ 3.x.
29139        In GTK+ 3.x, GdkCursor is just a GObject.
29140        * platform/gtk/GRefPtrGtk.h: Ditto.
29141
291422011-01-10  Geoffrey Garen  <ggaren@apple.com>
29143
29144        Reviewed by Oliver Hunt.
29145
29146        Moved Collector.* => Heap.*, since the file contains a class named "Heap".
29147
29148        * ForwardingHeaders/runtime/Collector.h: Removed.
29149        * ForwardingHeaders/runtime/Heap.h: Copied from WebCore/ForwardingHeaders/runtime/Collector.h.
29150        * WebCore.vcproj/WebCore.vcproj:
29151        * bindings/js/GCController.cpp:
29152        * bindings/js/ScriptGCEvent.cpp:
29153
291542011-01-10  Leonid Ebril  <leonid.ebril@nokia.com>
29155
29156        Reviewed by Kenneth Rohde Christiansen.
29157
29158        https://bugs.webkit.org/show_bug.cgi?id=51879
29159
29160        Set the PluginQuirkDontSetNullWindowHandleOnDestroy for Adobe Lite  
29161        plugin if Flash 10 or newer (for Symbian platform), setting a nulled 
29162        window handler on destroy crashes WebKit.
29163
29164        * plugins/symbian/PluginPackageSymbian.cpp:
29165        (WebCore::PluginPackage::fetchInfo):
29166        (WebCore::PluginPackage::determineQuirks):
29167
291682011-01-10  Martin Robinson  <mrobinson@igalia.com>
29169
29170        Reviewed by Xan Lopez.
29171
29172        [GTK] Remove unecessary RenderThemeGtk and WidgetRenderingContext code
29173        https://bugs.webkit.org/show_bug.cgi?id=52170
29174
29175        Remove unnecessary code from RenderThemeGtk3 and RenderThemeGtk now that the
29176        GtkStyleContext port is complete. Also remove WidgetRenderingContextGtk3 and
29177        move WidgetRenderingRenderingContextGtk2 to WidgetRenderingContext and make it
29178        GTK+ 2.x only. Some methods have been moved to RenderThemeGtk2 since they are
29179        GTK+ 2.x only now.
29180
29181        No new tests. This should not change functionality.
29182
29183        * GNUmakefile.am: Remove WidgetRenderingContextGtk3 and gtk3drawing.c
29184        * platform/gtk/RenderThemeGtk.cpp:
29185        (WebCore::RenderThemeGtk::RenderThemeGtk):
29186        (WebCore::gtkIconState): Made this method static. It isn't used outside RenderThemeGtk.
29187        (WebCore::RenderThemeGtk::paintSearchFieldResultsDecoration): Updated to refelct gtkIconState change.
29188        (WebCore::RenderThemeGtk::paintSearchFieldCancelButton): Ditto.
29189        (WebCore::RenderThemeGtk::paintMediaButton): Ditto
29190        * platform/gtk/RenderThemeGtk.h: Move a few methods which are now GTK+ 2.x only.
29191        * platform/gtk/RenderThemeGtk2.cpp:
29192        (WebCore::RenderThemeGtk::platformInit): Added this platform initialization method
29193        that is only used for GTK+ 2.x at the moment.
29194        (WebCore::RenderThemeGtk::~RenderThemeGtk): Added.
29195        (WebCore::getGtkStateType): Made this method static.
29196        (WebCore::RenderThemeGtk::getIndicatorMetrics): Moved this here from RenderThemeGtk.
29197        (WebCore::setToggleSize): Updated to reflect changes to getGtkStateType.
29198        (WebCore::RenderThemeGtk::paintButton): Ditto.
29199        (WebCore::RenderThemeGtk::paintSliderTrack): Ditto.
29200        (WebCore::RenderThemeGtk::paintSliderThumb): Ditto.
29201        * platform/gtk/RenderThemeGtk3.cpp:
29202        (WebCore::RenderThemeGtk::gtkScrollbarStyle): Moved to the top of the file.
29203        (WebCore::RenderThemeGtk::platformInit): Added.
29204        (WebCore::RenderThemeGtk::~RenderThemeGtk): Added.
29205        (WebCore::RenderThemeGtk::initMediaColors): Changed to use the GtkStyleContext API to
29206        fetch these colors. This was the last dependency on the old API.
29207        * platform/gtk/WidgetRenderingContext.cpp: Renamed from Source/WebCore/platform/gtk/WidgetRenderingContextGtk2.cpp.
29208        * platform/gtk/WidgetRenderingContext.h: Made GTK+ 2.x only.
29209        * platform/gtk/WidgetRenderingContextGtk3.cpp: Removed.
29210        * platform/gtk/gtk3drawing.c: Removed.
29211        * platform/gtk/gtkdrawing.h: Made GTK+ 2.x only.
29212
292132011-01-10  Benjamin Poulain  <benjamin.poulain@nokia.com>
29214
29215        Reviewed by Kenneth Rohde Christiansen.
29216
29217        [Qt] Navigator.cookiesEnabled return true for Qt even if there is no cookie jar
29218        https://bugs.webkit.org/show_bug.cgi?id=52081
29219
29220        Test for the availability of cookie jar to return if cookies are enabled or not.
29221
29222        * platform/qt/CookieJarQt.cpp:
29223        (WebCore::cookiesEnabled):
29224
292252011-01-10  W. James MacLean  <wjmaclean@chromium.org>
29226
29227        Reviewed by Kenneth Russell.
29228
29229        [chromium] Enable reuse of RenderSurface for drawing.
29230        https://bugs.webkit.org/show_bug.cgi?id=51928
29231
29232        Modifies RenderSurfaceChromium::prepareContentsTexture to avoid trying to 'reserve' a texture
29233        that is already reserved, should an attempt be made to re-select a previously drawn render surface
29234        in order to continue drawing to it. This use case appears when compositing into an offscreen texture.
29235
29236        Covered by existing test (compositing/geometry/fixed-position.html) when offscreen compositing enabled.
29237
29238        * platform/graphics/chromium/LayerTexture.h:
29239        (WebCore::LayerTexture::isReserved):
29240        * platform/graphics/chromium/RenderSurfaceChromium.cpp:
29241        (WebCore::RenderSurfaceChromium::prepareContentsTexture):
29242        * platform/graphics/chromium/TextureManager.cpp:
29243        (WebCore::TextureManager::isProtected):
29244        * platform/graphics/chromium/TextureManager.h:
29245
292462011-01-10  Carlos Garcia Campos  <cgarcia@igalia.com>
29247
29248        Reviewed by Xan Lopez.
29249
29250        [GTK] Port combo box painting to GtkStyleContext
29251        https://bugs.webkit.org/show_bug.cgi?id=51828
29252
29253        Use GtkStyleContext API to paint combo boxes when building with
29254        GTK+ 3.x. Method paintButton() has been factored out and the new
29255        static method renderButton() is used by both paintButton() and
29256        paintMenuList().
29257
29258        No new tests. This should not change functionality.
29259
29260        * platform/gtk/RenderThemeGtk3.cpp:
29261        (WebCore::RenderThemeGtk::adjustRepaintRect):
29262        (WebCore::renderButton):
29263        (WebCore::RenderThemeGtk::paintButton):
29264        (WebCore::getComboBoxMetrics):
29265        (WebCore::RenderThemeGtk::popupInternalPaddingLeft):
29266        (WebCore::RenderThemeGtk::popupInternalPaddingRight):
29267        (WebCore::RenderThemeGtk::popupInternalPaddingTop):
29268        (WebCore::RenderThemeGtk::popupInternalPaddingBottom):
29269        (WebCore::RenderThemeGtk::paintMenuList):
29270
292712011-01-10  Evan Martin  <evan@chromium.org>
29272
29273        Reviewed by Tony Chang.
29274
29275        [chromium] simplify complex glyph positioning code
29276        https://bugs.webkit.org/show_bug.cgi?id=52159
29277
29278        Before, we had roughly same code duplicated for RTL and LTR.
29279        Now, use the same code for both directions by being careful about
29280        flipping signs where appropriate.
29281
29282        * platform/graphics/chromium/ComplexTextControllerLinux.cpp:
29283        (WebCore::ComplexTextController::shapeGlyphs):
29284        (WebCore::ComplexTextController::setGlyphXPositions):
29285
292862011-01-10  Alejandro G. Castro  <alex@igalia.com>
29287
29288        Reviewed by Xan Lopez.
29289
29290        [GTK] Fix gtk2 compilation for master
29291        https://bugs.webkit.org/show_bug.cgi?id=51885
29292
29293        * platform/gtk/GtkVersioning.h: Replaced the 2.24.0 check with
29294        2.23.0 to avoid using the old symbols in the 2.23 releases. Added
29295        support for gdk_pixmap_get_size before the 2.23.4.
29296        * platform/gtk/WidgetRenderingContextGtk2.cpp:
29297        (WebCore::WidgetRenderingContext::WidgetRenderingContext):
29298        Replaced the old gdk_drawable_get_size with gdk_pixmap_get_size.
29299
293002011-01-10  Ryosuke Niwa  <rniwa@webkit.org>
29301
29302        Unreviewed; build fix for r75385.
29303
29304        * rendering/mathml/RenderMathMLFraction.cpp:
29305        (WebCore::RenderMathMLFraction::paint):
29306
293072011-01-10  Sheriff Bot  <webkit.review.bot@gmail.com>
29308
29309        Unreviewed, rolling out r75341.
29310        http://trac.webkit.org/changeset/75341
29311        https://bugs.webkit.org/show_bug.cgi?id=52157
29312
29313        Regressions on several pixel tests (Requested by jorlow on
29314        #webkit).
29315
29316        * platform/graphics/cg/GraphicsContextCG.cpp:
29317        (WebCore::GraphicsContext::fillPath):
29318
293192011-01-10  Carlos Garcia Campos  <cgarcia@igalia.com>
29320
29321        Reviewed by Martin Robinson.
29322
29323        [GTK] Port check and radio button painting to GtkStyleContext
29324        https://bugs.webkit.org/show_bug.cgi?id=51815
29325
29326        Use GtkStyleContext API to paint check and radio buttons when
29327        building with GTK+ 3.x.
29328
29329        No new tests. This should not change functionality.
29330
29331        * platform/gtk/RenderThemeGtk3.cpp:
29332        (WebCore::RenderThemeGtk::adjustRepaintRect):
29333        (WebCore::setToggleSize):
29334        (WebCore::paintToggle):
29335        (WebCore::RenderThemeGtk::setCheckboxSize):
29336        (WebCore::RenderThemeGtk::paintCheckbox):
29337        (WebCore::RenderThemeGtk::setRadioSize):
29338        (WebCore::RenderThemeGtk::paintRadio):
29339
293402011-01-10  François Sausset  <sausset@gmail.com>
29341
29342        Reviewed by Kenneth Rohde Christiansen.
29343
29344        MathML: vertical alignment & bar thickness adjustments of fractions.
29345        https://bugs.webkit.org/show_bug.cgi?id=50018
29346
29347        The fraction bar thickness default value should follow the w3c MathML 3 recommendation:
29348        http://www.w3.org/TR/MathML3/chapter3.html#presm.mfrac
29349        The vertical alignment of the fraction bar should be more accurate, specially with operators (+,=,...).
29350
29351        Test: mathml/presentation/fractions.xhtml
29352
29353        * rendering/mathml/RenderMathMLFraction.cpp:
29354        (WebCore::RenderMathMLFraction::RenderMathMLFraction):
29355        (WebCore::RenderMathMLFraction::updateFromElement):
29356        (WebCore::RenderMathMLFraction::layout):
29357        (WebCore::RenderMathMLFraction::paint):
29358        (WebCore::RenderMathMLFraction::baselinePosition):
29359        * rendering/mathml/RenderMathMLFraction.h:
29360
293612011-01-10  Antti Koivisto  <antti@apple.com>
29362
29363        Reviewed by Alexey Proskuryakov.
29364
29365        https://bugs.webkit.org/show_bug.cgi?id=52044
29366        REGRESSION(r74807): No-store is ignored within a document
29367        
29368        Don't use cached resources with Cache-control: no-store (unless cache policy is CachePolicyHistoryBuffer).
29369        This matches a behavior that got lost in r74807.
29370
29371        Test: http/tests/misc/script-no-store.html
29372        (by Alexey Proskuryakov)
29373
29374        * loader/cache/CachedResourceLoader.cpp:
29375        (WebCore::CachedResourceLoader::determineRevalidationPolicy):
29376
293772011-01-10  Patrick Gansterer  <paroga@webkit.org>
29378
29379        Reviewed by Laszlo Gombos.
29380
29381        [WIN] Add ProxyServerWin.cpp
29382        https://bugs.webkit.org/show_bug.cgi?id=52031
29383
29384        Add stub implementation to fix ENABLE_NETSCAPE_PLUGIN_API on WinCE.
29385
29386        * CMakeLists.txt:
29387        * CMakeListsWinCE.txt:
29388        * platform/network/win/ProxyServerWin.cpp: Added.
29389        (WebCore::proxyServersForURL):
29390
293912011-01-10  Alejandro G. Castro  <alex@igalia.com>
29392
29393        Reviewed by Martin Robinson.
29394
29395        [cairo] Rendering a lot of arcs on top of each other causes time
29396        outs in some tests
29397        https://bugs.webkit.org/show_bug.cgi?id=50869
29398
29399        We avoid the situation where we have to render the same arc
29400        multiple times over itself. Now it renders just one oval and
29401        moves to the end angle.
29402
29403        * platform/graphics/cairo/PathCairo.cpp:
29404        (WebCore::Path::addArc):
29405
294062011-01-10  Carlos Garcia Campos  <cgarcia@igalia.com>
29407
29408        Reviewed by Martin Robinson.
29409
29410        [GTK] Port text input control painting to GtkStyleContext
29411        https://bugs.webkit.org/show_bug.cgi?id=51870
29412
29413        Use GtkStyleContext API to paint text input controls when building
29414        with GTK+ 3.x.
29415
29416        No new tests. This should not change functionality.
29417
29418        * platform/gtk/RenderThemeGtk3.cpp:
29419        (WebCore::RenderThemeGtk::adjustRepaintRect):
29420        (WebCore::RenderThemeGtk::paintTextField):
29421
294222011-01-09  Tony Gentilcore  <tonyg@chromium.org>
29423
29424        Reviewed by Alexey Proskuryakov.
29425
29426        Forward declare some headers where possible
29427        https://bugs.webkit.org/show_bug.cgi?id=52133
29428
29429        No new tests because no new functionality.
29430
29431        * css/CSSValue.h:
29432        * dom/BeforeLoadEvent.h:
29433        * dom/Event.cpp:
29434        * dom/Event.h:
29435        * dom/StyledElement.cpp:
29436        * dom/StyledElement.h:
29437        * loader/DocumentLoader.h:
29438        * loader/FrameLoader.h:
29439        * page/Frame.h:
29440        * platform/graphics/GraphicsContext.cpp:
29441        * platform/graphics/GraphicsContext.h:
29442        * platform/graphics/filters/FEBlend.cpp:
29443        * platform/graphics/filters/FEColorMatrix.cpp:
29444        * platform/graphics/filters/FEComponentTransfer.cpp:
29445        * platform/graphics/filters/FEComposite.cpp:
29446        * platform/graphics/filters/FEConvolveMatrix.cpp:
29447        * platform/graphics/filters/FEDiffuseLighting.cpp:
29448        * platform/graphics/filters/FEDisplacementMap.cpp:
29449        * platform/graphics/filters/FEFlood.cpp:
29450        * platform/graphics/filters/FEGaussianBlur.cpp:
29451        * platform/graphics/filters/FEMerge.cpp:
29452        * platform/graphics/filters/FEMorphology.cpp:
29453        * platform/graphics/filters/FEOffset.cpp:
29454        * platform/graphics/filters/FESpecularLighting.cpp:
29455        * platform/graphics/filters/FETile.cpp:
29456        * platform/graphics/filters/FETurbulence.cpp:
29457        * platform/graphics/filters/FilterEffect.cpp:
29458        * platform/graphics/filters/FilterEffect.h:
29459        * platform/graphics/filters/SourceAlpha.cpp:
29460        * platform/graphics/filters/SourceGraphic.cpp:
29461        * svg/SVGElement.cpp:
29462        * svg/SVGElement.h:
29463        * svg/SVGFEBlendElement.cpp:
29464        * svg/SVGFEColorMatrixElement.cpp:
29465        * svg/SVGFEComponentTransferElement.cpp:
29466        * svg/SVGFECompositeElement.cpp:
29467        * svg/SVGFEConvolveMatrixElement.cpp:
29468        * svg/SVGFEConvolveMatrixElement.h:
29469        * svg/SVGFEDiffuseLightingElement.cpp:
29470        * svg/SVGFEDisplacementMapElement.cpp:
29471        * svg/SVGFEGaussianBlurElement.cpp:
29472        * svg/SVGFEImageElement.h:
29473        * svg/SVGFEMergeElement.cpp:
29474        * svg/SVGFEMorphologyElement.cpp:
29475        * svg/SVGFEOffsetElement.cpp:
29476        * svg/SVGFESpecularLightingElement.cpp:
29477        * svg/SVGFETileElement.cpp:
29478        * svg/SVGFETurbulenceElement.h:
29479        * svg/SVGFilterPrimitiveStandardAttributes.cpp:
29480        * svg/SVGFilterPrimitiveStandardAttributes.h:
29481        * svg/SVGTextContentElement.cpp:
29482        * svg/graphics/filters/SVGFEImage.cpp:
29483        * svg/graphics/filters/SVGFEImage.h:
29484
294852011-01-10  Adam Roben  <aroben@apple.com>
29486
29487        Windows build fix after r75313
29488
29489        * WebCore.vcproj/build-generated-files.sh: Updated for the change in
29490        this script's path.
29491
294922011-01-10  Pavel Podivilov  <podivilov@chromium.org>
29493
29494        Reviewed by Pavel Feldman.
29495
29496        Web Inspector: make properties on Array's prototype non-enumerable.
29497        https://bugs.webkit.org/show_bug.cgi?id=51776
29498
29499        * inspector/front-end/utilities.js:
29500        ():
29501
295022011-01-10  Yael Aharon  <yael.aharon@nokia.com>
29503
29504        Reviewed by Simon Fraser.
29505
29506        Specificity of negated selectors apparently miscalculated
29507        https://bugs.webkit.org/show_bug.cgi?id=41206
29508
29509        Give negated selectors the specificity of the selector they are negating.
29510        This is the same as the behavior of other browsers.
29511
29512        Test: fast/css/pseudo-not.html
29513
29514        * css/CSSSelector.cpp:
29515        (WebCore::CSSSelector::specificityForOneSelector):
29516
295172011-01-10  Adam Roben  <aroben@apple.com>
29518
29519        Windows build fix after r75353
29520
29521        * WebCore.vcproj/WebCoreCommon.vsprops: Added rendering/mathml to the
29522        include path.
29523
295242011-01-10  John Knottenbelt  <jknotten@chromium.org>
29525
29526        Reviewed by Jeremy Orlow.
29527
29528        [Chromium] Remove non-client-based Geolocation code
29529        https://bugs.webkit.org/show_bug.cgi?id=50921
29530
29531        Code clean up, covered by existing tests.
29532
29533        * WebCore.gyp/WebCore.gyp:
29534        * WebCore.gypi:
29535        * platform/chromium/ChromiumBridge.h:
29536        * platform/chromium/GeolocationServiceChromium.cpp: Removed.
29537        * platform/chromium/GeolocationServiceChromium.h: Removed.
29538
295392011-01-10  Ilya Tikhonovsky  <loislo@chromium.org>
29540
29541        Reviewed by Pavel Feldman.
29542
29543        Web Inspector: protocol related change. Rename stepIntoStatement, stepOutOfFunction, stepOverStatement.
29544        stepIntoStatement => stepInto
29545        stepOutOfFunction => stepOut
29546        stepOverStatement => stepOver
29547
29548        https://bugs.webkit.org/show_bug.cgi?id=52142
29549
29550        * inspector/Inspector.idl:
29551        * inspector/InspectorDebuggerAgent.cpp:
29552        (WebCore::InspectorDebuggerAgent::stepOver):
29553        (WebCore::InspectorDebuggerAgent::stepInto):
29554        (WebCore::InspectorDebuggerAgent::stepOut):
29555        * inspector/InspectorDebuggerAgent.h:
29556        * inspector/front-end/ScriptsPanel.js:
29557        (WebInspector.ScriptsPanel.prototype._stepOverClicked):
29558        (WebInspector.ScriptsPanel.prototype._stepIntoClicked):
29559        (WebInspector.ScriptsPanel.prototype._stepOutClicked):
29560
295612011-01-10  Carlos Garcia Campos  <cgarcia@igalia.com>
29562
29563        Reviewed by Martin Robinson.
29564
29565        [GTK] Port progressbar painting to GtkStyleContext
29566        https://bugs.webkit.org/show_bug.cgi?id=52054
29567
29568        Use GtkStyleContext API to paint progressbars when building with
29569        GTK+ 3.x. Also add support for indeterminate progressbars.
29570
29571        No new tests. This should not change functionality.
29572
29573        * platform/gtk/RenderThemeGtk.cpp:
29574        * platform/gtk/RenderThemeGtk2.cpp:
29575        (WebCore::RenderThemeGtk::animationRepeatIntervalForProgressBar):
29576        (WebCore::RenderThemeGtk::animationDurationForProgressBar):
29577        * platform/gtk/RenderThemeGtk3.cpp:
29578        (WebCore::RenderThemeGtk::animationRepeatIntervalForProgressBar):
29579        (WebCore::RenderThemeGtk::animationDurationForProgressBar):
29580        (WebCore::RenderThemeGtk::paintProgressBar):
29581
295822011-01-10  Andreas Kling  <kling@webkit.org>
29583
29584        Reviewed by Darin Adler.
29585
29586        Remove unused class "Pen" in WebCore/platform/graphics
29587        https://bugs.webkit.org/show_bug.cgi?id=49955
29588
29589        * Android.mk:
29590        * CMakeLists.txt:
29591        * GNUmakefile.am:
29592        * WebCore.gypi:
29593        * WebCore.pro:
29594        * WebCore.vcproj/WebCore.vcproj:
29595        * WebCore.xcodeproj/project.pbxproj:
29596        * platform/graphics/Pen.cpp: Removed.
29597        * platform/graphics/Pen.h: Removed.
29598        * platform/graphics/haiku/GraphicsContextHaiku.cpp:
29599        * platform/graphics/wx/GraphicsContextWx.cpp:
29600        * platform/graphics/wx/PenWx.cpp: Removed.
29601
296022011-01-10  Xan Lopez  <xlopez@igalia.com>
29603
29604        Reviewed by Martin Robinson.
29605
29606        [GTK] Create intermediate libWebCore library
29607        https://bugs.webkit.org/show_bug.cgi?id=52116
29608
29609        Create intermediate libWebCore.la to avoid overflowing the linker
29610        in the final link stage.
29611
29612        * GNUmakefile.am: define the new library.
29613
296142011-01-09  Sheriff Bot  <webkit.review.bot@gmail.com>
29615
29616        Unreviewed, rolling out r75337.
29617        http://trac.webkit.org/changeset/75337
29618        https://bugs.webkit.org/show_bug.cgi?id=52137
29619
29620        It made fast/dom/navigator-detached-no-crash.html crash
29621        (Requested by Ossy on #webkit).
29622
29623        * platform/qt/CookieJarQt.cpp:
29624        (WebCore::cookiesEnabled):
29625
296262011-01-09  Mark Rowe  <mrowe@apple.com>
29627
29628        Fix the build.
29629
29630        * WebCore.xcodeproj/project.pbxproj: Copy SVGResourcesCache.h in to PrivateHeaders
29631        once more.
29632
296332011-01-09  Dan Bernstein  <mitz@apple.com>
29634
29635        Reviewed by Sam Weinig.
29636
29637        <rdar://problem/8765555> WebKit2: Search field focus ring is missing
29638
29639        Provide a focus ring visible rect to AppKit.
29640
29641        * platform/mac/ThemeMac.mm:
29642        (-[WebCoreFlippedView _focusRingVisibleRect]):
29643        (-[WebCoreFlippedView _focusRingClipAncestor]):
29644
296452011-01-09  Dirk Schulze  <krit@webkit.org>
29646
29647        Reviewed by Rob Buis.
29648
29649        Move MathML renderer to rendering/mathml
29650        https://bugs.webkit.org/show_bug.cgi?id=52131
29651
29652        Move all renderer of MathML to WebCore/rendering/mathml
29653
29654        No change of functionality, no new tests added.
29655
29656        * CMakeLists.txt:
29657        * GNUmakefile.am:
29658        * WebCore.gypi:
29659        * WebCore.pro:
29660        * WebCore.vcproj/WebCore.vcproj:
29661        * WebCore.xcodeproj/project.pbxproj:
29662        * mathml/RenderMathMLBlock.cpp: Removed.
29663        * mathml/RenderMathMLBlock.h: Removed.
29664        * mathml/RenderMathMLFenced.cpp: Removed.
29665        * mathml/RenderMathMLFenced.h: Removed.
29666        * mathml/RenderMathMLFraction.cpp: Removed.
29667        * mathml/RenderMathMLFraction.h: Removed.
29668        * mathml/RenderMathMLMath.cpp: Removed.
29669        * mathml/RenderMathMLMath.h: Removed.
29670        * mathml/RenderMathMLOperator.cpp: Removed.
29671        * mathml/RenderMathMLOperator.h: Removed.
29672        * mathml/RenderMathMLRoot.cpp: Removed.
29673        * mathml/RenderMathMLRoot.h: Removed.
29674        * mathml/RenderMathMLRow.cpp: Removed.
29675        * mathml/RenderMathMLRow.h: Removed.
29676        * mathml/RenderMathMLSquareRoot.cpp: Removed.
29677        * mathml/RenderMathMLSquareRoot.h: Removed.
29678        * mathml/RenderMathMLSubSup.cpp: Removed.
29679        * mathml/RenderMathMLSubSup.h: Removed.
29680        * mathml/RenderMathMLUnderOver.cpp: Removed.
29681        * mathml/RenderMathMLUnderOver.h: Removed.
29682        * rendering/mathml: Added.
29683        * rendering/mathml/RenderMathMLBlock.cpp: Copied from Source/WebCore/mathml/RenderMathMLBlock.cpp.
29684        * rendering/mathml/RenderMathMLBlock.h: Copied from Source/WebCore/mathml/RenderMathMLBlock.h.
29685        * rendering/mathml/RenderMathMLFenced.cpp: Copied from Source/WebCore/mathml/RenderMathMLFenced.cpp.
29686        * rendering/mathml/RenderMathMLFenced.h: Copied from Source/WebCore/mathml/RenderMathMLFenced.h.
29687        * rendering/mathml/RenderMathMLFraction.cpp: Copied from Source/WebCore/mathml/RenderMathMLFraction.cpp.
29688        * rendering/mathml/RenderMathMLFraction.h: Copied from Source/WebCore/mathml/RenderMathMLFraction.h.
29689        * rendering/mathml/RenderMathMLMath.cpp: Copied from Source/WebCore/mathml/RenderMathMLMath.cpp.
29690        * rendering/mathml/RenderMathMLMath.h: Copied from Source/WebCore/mathml/RenderMathMLMath.h.
29691        * rendering/mathml/RenderMathMLOperator.cpp: Copied from Source/WebCore/mathml/RenderMathMLOperator.cpp.
29692        * rendering/mathml/RenderMathMLOperator.h: Copied from Source/WebCore/mathml/RenderMathMLOperator.h.
29693        * rendering/mathml/RenderMathMLRoot.cpp: Copied from Source/WebCore/mathml/RenderMathMLRoot.cpp.
29694        * rendering/mathml/RenderMathMLRoot.h: Copied from Source/WebCore/mathml/RenderMathMLRoot.h.
29695        * rendering/mathml/RenderMathMLRow.cpp: Copied from Source/WebCore/mathml/RenderMathMLRow.cpp.
29696        * rendering/mathml/RenderMathMLRow.h: Copied from Source/WebCore/mathml/RenderMathMLRow.h.
29697        * rendering/mathml/RenderMathMLSquareRoot.cpp: Copied from Source/WebCore/mathml/RenderMathMLSquareRoot.cpp.
29698        * rendering/mathml/RenderMathMLSquareRoot.h: Copied from Source/WebCore/mathml/RenderMathMLSquareRoot.h.
29699        * rendering/mathml/RenderMathMLSubSup.cpp: Copied from Source/WebCore/mathml/RenderMathMLSubSup.cpp.
29700        * rendering/mathml/RenderMathMLSubSup.h: Copied from Source/WebCore/mathml/RenderMathMLSubSup.h.
29701        * rendering/mathml/RenderMathMLUnderOver.cpp: Copied from Source/WebCore/mathml/RenderMathMLUnderOver.cpp.
29702        * rendering/mathml/RenderMathMLUnderOver.h: Copied from Source/WebCore/mathml/RenderMathMLUnderOver.h.
29703
297042011-01-08  Simon Fraser  <simon.fraser@apple.com>
29705
29706        Reviewed by Alexey Proskuryakov.
29707
29708        HTMLStyleElement.disabled doesn't work (affects jQuery)
29709        https://bugs.webkit.org/show_bug.cgi?id=25287
29710        
29711        Fix the disabled property of a HTMLStyleElement to reflect,
29712        and set the disabled state of its style sheet, as required
29713        by DOM1 etc.
29714
29715        Based on initial patch by Tarun Nainani.
29716
29717        Test: fast/html/disable-style-element.html
29718
29719        * dom/StyleElement.h:
29720        (WebCore::StyleElement::sheet): Make const.
29721        
29722        * html/HTMLStyleElement.h:
29723        * html/HTMLStyleElement.idl:
29724        * html/HTMLStyleElement.cpp:
29725        (WebCore::HTMLStyleElement::disabled): 
29726        (WebCore::HTMLStyleElement::setDisabled): Getter and setter for disabled
29727        call through to the sheet (if any).
29728
297292011-01-09  Dirk Schulze  <krit@webkit.org>
29730
29731        Reviewed by Nikolas Zimmermann.
29732
29733        Rename RenderForeignObject to RenderSVGForeignObject
29734        https://bugs.webkit.org/show_bug.cgi?id=52129
29735
29736        Rename RenderForeignObject to RenderSVGForeignObject to match the naming schema in render/svg.
29737
29738        No change of functionality, no new tests.
29739
29740        * Android.mk:
29741        * CMakeLists.txt:
29742        * GNUmakefile.am:
29743        * WebCore.gypi:
29744        * WebCore.pro:
29745        * WebCore.xcodeproj/project.pbxproj:
29746        * rendering/RenderingAllInOne.cpp:
29747        * rendering/svg/RenderForeignObject.cpp: Removed.
29748        * rendering/svg/RenderForeignObject.h: Removed.
29749        * rendering/svg/RenderSVGAllInOne.cpp:
29750        * rendering/svg/RenderSVGBlock.cpp:
29751        (WebCore::RenderSVGBlock::updateBoxModelInfoFromStyle):
29752        * rendering/svg/RenderSVGForeignObject.cpp: Copied from Source/WebCore/rendering/svg/RenderForeignObject.cpp.
29753        (WebCore::RenderSVGForeignObject::RenderSVGForeignObject):
29754        (WebCore::RenderSVGForeignObject::~RenderSVGForeignObject):
29755        (WebCore::RenderSVGForeignObject::paint):
29756        (WebCore::RenderSVGForeignObject::clippedOverflowRectForRepaint):
29757        (WebCore::RenderSVGForeignObject::computeRectForRepaint):
29758        (WebCore::RenderSVGForeignObject::localToParentTransform):
29759        (WebCore::RenderSVGForeignObject::computeLogicalWidth):
29760        (WebCore::RenderSVGForeignObject::computeLogicalHeight):
29761        (WebCore::RenderSVGForeignObject::layout):
29762        (WebCore::RenderSVGForeignObject::nodeAtFloatPoint):
29763        (WebCore::RenderSVGForeignObject::nodeAtPoint):
29764        (WebCore::RenderSVGForeignObject::mapLocalToContainer):
29765        * rendering/svg/RenderSVGForeignObject.h: Copied from Source/WebCore/rendering/svg/RenderForeignObject.h.
29766        (WebCore::RenderSVGForeignObject::renderName):
29767        * svg/SVGForeignObjectElement.cpp:
29768        (WebCore::SVGForeignObjectElement::createRenderer):
29769
297702011-01-09  Dirk Schulze  <krit@webkit.org>
29771
29772        Reviewed by Nikolas Zimmermann.
29773
29774        Move all SVG renderer to WebCore/rendering/svg
29775        https://bugs.webkit.org/show_bug.cgi?id=52087
29776
29777        No change of functionality. Just moved all SVG renderer to WebCore/rendering/svg.
29778
29779        * Android.mk:
29780        * CMakeLists.txt:
29781        * GNUmakefile.am:
29782        * WebCore.gypi:
29783        * WebCore.pro:
29784        * WebCore.vjproj/project.vjproj:
29785        * WebCore.xcodeproj/project.pbxproj:
29786        * rendering/RenderForeignObject.cpp: Removed.
29787        * rendering/RenderForeignObject.h: Removed.
29788        * rendering/RenderSVGAllInOne.cpp: Removed.
29789        * rendering/RenderSVGBlock.cpp: Removed.
29790        * rendering/RenderSVGBlock.h: Removed.
29791        * rendering/RenderSVGContainer.cpp: Removed.
29792        * rendering/RenderSVGContainer.h: Removed.
29793        * rendering/RenderSVGGradientStop.cpp: Removed.
29794        * rendering/RenderSVGGradientStop.h: Removed.
29795        * rendering/RenderSVGHiddenContainer.cpp: Removed.
29796        * rendering/RenderSVGHiddenContainer.h: Removed.
29797        * rendering/RenderSVGImage.cpp: Removed.
29798        * rendering/RenderSVGImage.h: Removed.
29799        * rendering/RenderSVGModelObject.cpp: Removed.
29800        * rendering/RenderSVGModelObject.h: Removed.
29801        * rendering/RenderSVGResource.cpp: Removed.
29802        * rendering/RenderSVGResource.h: Removed.
29803        * rendering/RenderSVGResourceClipper.cpp: Removed.
29804        * rendering/RenderSVGResourceClipper.h: Removed.
29805        * rendering/RenderSVGResourceContainer.cpp: Removed.
29806        * rendering/RenderSVGResourceContainer.h: Removed.
29807        * rendering/RenderSVGResourceFilter.cpp: Removed.
29808        * rendering/RenderSVGResourceFilter.h: Removed.
29809        * rendering/RenderSVGResourceFilterPrimitive.cpp: Removed.
29810        * rendering/RenderSVGResourceFilterPrimitive.h: Removed.
29811        * rendering/RenderSVGResourceGradient.cpp: Removed.
29812        * rendering/RenderSVGResourceGradient.h: Removed.
29813        * rendering/RenderSVGResourceLinearGradient.cpp: Removed.
29814        * rendering/RenderSVGResourceLinearGradient.h: Removed.
29815        * rendering/RenderSVGResourceMarker.cpp: Removed.
29816        * rendering/RenderSVGResourceMarker.h: Removed.
29817        * rendering/RenderSVGResourceMasker.cpp: Removed.
29818        * rendering/RenderSVGResourceMasker.h: Removed.
29819        * rendering/RenderSVGResourcePattern.cpp: Removed.
29820        * rendering/RenderSVGResourcePattern.h: Removed.
29821        * rendering/RenderSVGResourceRadialGradient.cpp: Removed.
29822        * rendering/RenderSVGResourceRadialGradient.h: Removed.
29823        * rendering/RenderSVGResourceSolidColor.cpp: Removed.
29824        * rendering/RenderSVGResourceSolidColor.h: Removed.
29825        * rendering/RenderSVGRoot.cpp: Removed.
29826        * rendering/RenderSVGRoot.h: Removed.
29827        * rendering/RenderSVGShadowTreeRootContainer.cpp: Removed.
29828        * rendering/RenderSVGShadowTreeRootContainer.h: Removed.
29829        * rendering/RenderSVGTransformableContainer.cpp: Removed.
29830        * rendering/RenderSVGTransformableContainer.h: Removed.
29831        * rendering/RenderSVGViewportContainer.cpp: Removed.
29832        * rendering/RenderSVGViewportContainer.h: Removed.
29833        * rendering/SVGImageBufferTools.cpp: Removed.
29834        * rendering/SVGImageBufferTools.h: Removed.
29835        * rendering/SVGMarkerData.h: Removed.
29836        * rendering/SVGMarkerLayoutInfo.cpp: Removed.
29837        * rendering/SVGMarkerLayoutInfo.h: Removed.
29838        * rendering/SVGRenderSupport.cpp: Removed.
29839        * rendering/SVGRenderSupport.h: Removed.
29840        * rendering/SVGRenderTreeAsText.cpp: Removed.
29841        * rendering/SVGRenderTreeAsText.h: Removed.
29842        * rendering/SVGResources.cpp: Removed.
29843        * rendering/SVGResources.h: Removed.
29844        * rendering/SVGResourcesCache.cpp: Removed.
29845        * rendering/SVGResourcesCache.h: Removed.
29846        * rendering/SVGResourcesCycleSolver.cpp: Removed.
29847        * rendering/SVGResourcesCycleSolver.h: Removed.
29848        * rendering/SVGShadowTreeElements.cpp: Removed.
29849        * rendering/SVGShadowTreeElements.h: Removed.
29850        * rendering/svg/RenderForeignObject.cpp: Copied from Source/WebCore/rendering/RenderForeignObject.cpp.
29851        * rendering/svg/RenderForeignObject.h: Copied from Source/WebCore/rendering/RenderForeignObject.h.
29852        * rendering/svg/RenderSVGAllInOne.cpp: Copied from Source/WebCore/rendering/RenderSVGAllInOne.cpp.
29853        * rendering/svg/RenderSVGBlock.cpp: Copied from Source/WebCore/rendering/RenderSVGBlock.cpp.
29854        * rendering/svg/RenderSVGBlock.h: Copied from Source/WebCore/rendering/RenderSVGBlock.h.
29855        * rendering/svg/RenderSVGContainer.cpp: Copied from Source/WebCore/rendering/RenderSVGContainer.cpp.
29856        * rendering/svg/RenderSVGContainer.h: Copied from Source/WebCore/rendering/RenderSVGContainer.h.
29857        * rendering/svg/RenderSVGGradientStop.cpp: Copied from Source/WebCore/rendering/RenderSVGGradientStop.cpp.
29858        * rendering/svg/RenderSVGGradientStop.h: Copied from Source/WebCore/rendering/RenderSVGGradientStop.h.
29859        * rendering/svg/RenderSVGHiddenContainer.cpp: Copied from Source/WebCore/rendering/RenderSVGHiddenContainer.cpp.
29860        * rendering/svg/RenderSVGHiddenContainer.h: Copied from Source/WebCore/rendering/RenderSVGHiddenContainer.h.
29861        * rendering/svg/RenderSVGImage.cpp: Copied from Source/WebCore/rendering/RenderSVGImage.cpp.
29862        * rendering/svg/RenderSVGImage.h: Copied from Source/WebCore/rendering/RenderSVGImage.h.
29863        * rendering/svg/RenderSVGModelObject.cpp: Copied from Source/WebCore/rendering/RenderSVGModelObject.cpp.
29864        * rendering/svg/RenderSVGModelObject.h: Copied from Source/WebCore/rendering/RenderSVGModelObject.h.
29865        * rendering/svg/RenderSVGResource.cpp: Copied from Source/WebCore/rendering/RenderSVGResource.cpp.
29866        * rendering/svg/RenderSVGResource.h: Copied from Source/WebCore/rendering/RenderSVGResource.h.
29867        * rendering/svg/RenderSVGResourceClipper.cpp: Copied from Source/WebCore/rendering/RenderSVGResourceClipper.cpp.
29868        * rendering/svg/RenderSVGResourceClipper.h: Copied from Source/WebCore/rendering/RenderSVGResourceClipper.h.
29869        * rendering/svg/RenderSVGResourceContainer.cpp: Copied from Source/WebCore/rendering/RenderSVGResourceContainer.cpp.
29870        * rendering/svg/RenderSVGResourceContainer.h: Copied from Source/WebCore/rendering/RenderSVGResourceContainer.h.
29871        * rendering/svg/RenderSVGResourceFilter.cpp: Copied from Source/WebCore/rendering/RenderSVGResourceFilter.cpp.
29872        * rendering/svg/RenderSVGResourceFilter.h: Copied from Source/WebCore/rendering/RenderSVGResourceFilter.h.
29873        * rendering/svg/RenderSVGResourceFilterPrimitive.cpp: Copied from Source/WebCore/rendering/RenderSVGResourceFilterPrimitive.cpp.
29874        * rendering/svg/RenderSVGResourceFilterPrimitive.h: Copied from Source/WebCore/rendering/RenderSVGResourceFilterPrimitive.h.
29875        * rendering/svg/RenderSVGResourceGradient.cpp: Copied from Source/WebCore/rendering/RenderSVGResourceGradient.cpp.
29876        * rendering/svg/RenderSVGResourceGradient.h: Copied from Source/WebCore/rendering/RenderSVGResourceGradient.h.
29877        * rendering/svg/RenderSVGResourceLinearGradient.cpp: Copied from Source/WebCore/rendering/RenderSVGResourceLinearGradient.cpp.
29878        * rendering/svg/RenderSVGResourceLinearGradient.h: Copied from Source/WebCore/rendering/RenderSVGResourceLinearGradient.h.
29879        * rendering/svg/RenderSVGResourceMarker.cpp: Copied from Source/WebCore/rendering/RenderSVGResourceMarker.cpp.
29880        * rendering/svg/RenderSVGResourceMarker.h: Copied from Source/WebCore/rendering/RenderSVGResourceMarker.h.
29881        * rendering/svg/RenderSVGResourceMasker.cpp: Copied from Source/WebCore/rendering/RenderSVGResourceMasker.cpp.
29882        * rendering/svg/RenderSVGResourceMasker.h: Copied from Source/WebCore/rendering/RenderSVGResourceMasker.h.
29883        * rendering/svg/RenderSVGResourcePattern.cpp: Copied from Source/WebCore/rendering/RenderSVGResourcePattern.cpp.
29884        * rendering/svg/RenderSVGResourcePattern.h: Copied from Source/WebCore/rendering/RenderSVGResourcePattern.h.
29885        * rendering/svg/RenderSVGResourceRadialGradient.cpp: Copied from Source/WebCore/rendering/RenderSVGResourceRadialGradient.cpp.
29886        * rendering/svg/RenderSVGResourceRadialGradient.h: Copied from Source/WebCore/rendering/RenderSVGResourceRadialGradient.h.
29887        * rendering/svg/RenderSVGResourceSolidColor.cpp: Copied from Source/WebCore/rendering/RenderSVGResourceSolidColor.cpp.
29888        * rendering/svg/RenderSVGResourceSolidColor.h: Copied from Source/WebCore/rendering/RenderSVGResourceSolidColor.h.
29889        * rendering/svg/RenderSVGRoot.cpp: Copied from Source/WebCore/rendering/RenderSVGRoot.cpp.
29890        * rendering/svg/RenderSVGRoot.h: Copied from Source/WebCore/rendering/RenderSVGRoot.h.
29891        * rendering/svg/RenderSVGShadowTreeRootContainer.cpp: Copied from Source/WebCore/rendering/RenderSVGShadowTreeRootContainer.cpp.
29892        * rendering/svg/RenderSVGShadowTreeRootContainer.h: Copied from Source/WebCore/rendering/RenderSVGShadowTreeRootContainer.h.
29893        * rendering/svg/RenderSVGTransformableContainer.cpp: Copied from Source/WebCore/rendering/RenderSVGTransformableContainer.cpp.
29894        * rendering/svg/RenderSVGTransformableContainer.h: Copied from Source/WebCore/rendering/RenderSVGTransformableContainer.h.
29895        * rendering/svg/RenderSVGViewportContainer.cpp: Copied from Source/WebCore/rendering/RenderSVGViewportContainer.cpp.
29896        * rendering/svg/RenderSVGViewportContainer.h: Copied from Source/WebCore/rendering/RenderSVGViewportContainer.h.
29897        * rendering/svg/SVGImageBufferTools.cpp: Copied from Source/WebCore/rendering/SVGImageBufferTools.cpp.
29898        * rendering/svg/SVGImageBufferTools.h: Copied from Source/WebCore/rendering/SVGImageBufferTools.h.
29899        * rendering/svg/SVGMarkerData.h: Copied from Source/WebCore/rendering/SVGMarkerData.h.
29900        * rendering/svg/SVGMarkerLayoutInfo.cpp: Copied from Source/WebCore/rendering/SVGMarkerLayoutInfo.cpp.
29901        * rendering/svg/SVGMarkerLayoutInfo.h: Copied from Source/WebCore/rendering/SVGMarkerLayoutInfo.h.
29902        * rendering/svg/SVGRenderSupport.cpp: Copied from Source/WebCore/rendering/SVGRenderSupport.cpp.
29903        * rendering/svg/SVGRenderSupport.h: Copied from Source/WebCore/rendering/SVGRenderSupport.h.
29904        * rendering/svg/SVGRenderTreeAsText.cpp: Copied from Source/WebCore/rendering/SVGRenderTreeAsText.cpp.
29905        * rendering/svg/SVGRenderTreeAsText.h: Copied from Source/WebCore/rendering/SVGRenderTreeAsText.h.
29906        * rendering/svg/SVGResources.cpp: Copied from Source/WebCore/rendering/SVGResources.cpp.
29907        * rendering/svg/SVGResources.h: Copied from Source/WebCore/rendering/SVGResources.h.
29908        * rendering/svg/SVGResourcesCache.cpp: Copied from Source/WebCore/rendering/SVGResourcesCache.cpp.
29909        * rendering/svg/SVGResourcesCache.h: Copied from Source/WebCore/rendering/SVGResourcesCache.h.
29910        * rendering/svg/SVGResourcesCycleSolver.cpp: Copied from Source/WebCore/rendering/SVGResourcesCycleSolver.cpp.
29911        * rendering/svg/SVGResourcesCycleSolver.h: Copied from Source/WebCore/rendering/SVGResourcesCycleSolver.h.
29912        * rendering/svg/SVGShadowTreeElements.cpp: Copied from Source/WebCore/rendering/SVGShadowTreeElements.cpp.
29913        * rendering/svg/SVGShadowTreeElements.h: Copied from Source/WebCore/rendering/SVGShadowTreeElements.h.
29914
299152011-01-09  Xianzhu Wang  <phnixwxz@gmail.com>
29916
29917        Reviewed by Darin Fisher.
29918
29919        https://bugs.webkit.org/show_bug.cgi?id=41441
29920        createWindow method should only do window-creating without URL navigation.
29921        Let client APIs know which URL a new window will start with
29922
29923        * loader/FrameLoader.cpp:
29924        (WebCore::createWindow):
29925        * page/ContextMenuController.cpp:
29926        (WebCore::openNewWindow):
29927        * page/DOMWindow.cpp:
29928        (WebCore::DOMWindow::createWindow):
29929
299302011-01-09  Dirk Schulze  <krit@webkit.org>
29931
29932        Unreviewed sort of Xcode project file.
29933
29934        * WebCore.xcodeproj/project.pbxproj:
29935
299362011-01-09  Amruth Raj  <amruthraj@motorola.com> and Ravi Phaneendra Kasibhatla  <ravi.kasibhatla@motorola.com>
29937
29938        Reviewed by Martin Robinson.
29939
29940        Changes to add Process Launcher and Thread Launcher implementation to the WebKit2 GTK port.
29941        https://bugs.webkit.org/show_bug.cgi?id=48511
29942
29943        * platform/FileSystem.h: 
29944        * platform/gtk/FileSystemGtk.cpp: Implement function to get a binary's path
29945        (WebCore::applicationDirectoryPath):
29946
299472011-01-08  Martin Robinson  <mrobinson@igalia.com>
29948
29949        GTK+ Build fix. Add missing headers to the source list, fixing make dist.
29950
29951        No new tests. This is only a build change.
29952
29953        * GNUmakefile.am: Add missing headers to the source list.
29954
299552011-01-08 Amruth Raj  <amruthraj@motorola.com> and Ravi Phaneendra Kasibhatla  <ravi.kasibhatla@motorola.com>
29956
29957        Reviewed by Martin Robinson.
29958
29959        [GTK] WebKit2 GNUmakefile is out of date from trunk
29960        https://bugs.webkit.org/show_bug.cgi?id=51883
29961
29962        Added stubs for WebKit2 compilation.
29963
29964        * platform/gtk/ContextMenuGtk.cpp:
29965        (WebCore::contextMenuItemVector):
29966        * platform/gtk/ContextMenuItemGtk.cpp:
29967        (WebCore::ContextMenuItem::ContextMenuItem):
29968        (WebCore::ContextMenuItem::checked):
29969        (WebCore::ContextMenuItem::enabled):
29970        * platform/network/soup/AuthenticationChallenge.h:
29971        (WebCore::AuthenticationChallenge::authenticationClient):
29972
299732011-01-08  Helder Correia  <helder@sencha.com>
29974
29975        Reviewed by Simon Fraser.
29976
29977        Shadow is not drawn when filling a path with a gradient
29978        https://bugs.webkit.org/show_bug.cgi?id=51982
29979
29980        This happens in CG and is related to bug 51869, this time to be fixed
29981        in GraphicsContext::fillPath(const Path& path). We need to draw the
29982        gradient clipped to the path on a CGLayer first, and then draw the
29983        layer on the GraphicsContext.
29984
29985        Test: fast/canvas/canvas-fillPath-gradient-shadow.html
29986
29987        * platform/graphics/cg/GraphicsContextCG.cpp:
29988        (WebCore::GraphicsContext::fillPath):
29989
299902011-01-08  Benjamin Poulain  <benjamin.poulain@nokia.com>
29991
29992        Reviewed by Kenneth Rohde Christiansen.
29993
29994        [Qt] PasteboardQt.cpp has coding-style errors
29995        https://bugs.webkit.org/show_bug.cgi?id=39771
29996
29997        Update the code to follow the coding style.
29998
29999        * platform/qt/PasteboardQt.cpp:
30000        (WebCore::Pasteboard::writeSelection):
30001        (WebCore::Pasteboard::plainText):
30002        (WebCore::Pasteboard::writePlainText):
30003        (WebCore::Pasteboard::writeURL):
30004
300052011-01-08  Tony Gentilcore  <tonyg@chromium.org>
30006
30007        Reviewed by Eric Seidel.
30008
30009        HTML5 Conformance Test failure: approved/xhtml5/html_style_in_comment.xhtml
30010        https://bugs.webkit.org/show_bug.cgi?id=48593
30011
30012        XHTML <style> blocks, unlike HTML <style> blocks, should respect HTML
30013        comments.
30014
30015        Test: fast/parser/xhtml-html-comment-in-style-block.xhtml
30016
30017        * dom/StyleElement.cpp:
30018        (WebCore::isValidStyleChild): Remove the COMMENT_NODE check as the HTML parser doesn't add COMMENT_NODEs as children of style blocks.
30019        (WebCore::StyleElement::process): Factored out a condition that must remain in sync.
30020
300212011-01-08  Benjamin Poulain  <benjamin.poulain@nokia.com>
30022
30023        Reviewed by Kenneth Rohde Christiansen.
30024
30025        [Qt] Navigator.cookiesEnabled return true for Qt even if there is no cookie jar
30026        https://bugs.webkit.org/show_bug.cgi?id=52081
30027
30028        Test for the availability of cookie jar to return if cookies are enabled or not. The network access
30029        manager always exist, not the cookie jar.
30030
30031        * platform/qt/CookieJarQt.cpp:
30032        (WebCore::cookiesEnabled):
30033
300342011-01-08  Charlie Reis  <creis@chromium.org>
30035
30036        Reviewed by Mihai Parparita.
30037
30038        Canceled frame loads can corrupt back forward list
30039        https://bugs.webkit.org/show_bug.cgi?id=50254
30040
30041        Avoids changing m_currentItem until the navigation commits.
30042        Also resets top-level history items if a subframe navigation is canceled.
30043
30044        * WebCore/loader/FrameLoader.cpp:
30045        (WebCore::FrameLoader::checkLoadCompleteForThisFrame):
30046        * WebCore/loader/HistoryController.cpp:
30047        * WebCore/loader/HistoryController.h:
30048
300492011-01-08  Chang Shu  <chang.shu@nokia.com>
30050
30051        Reviewed by Kenneth Rohde Christiansen.
30052
30053        Support createTouchList with Touch list for test automation.
30054        Implemented JS/V8 custom functions for createTouchList.
30055        https://bugs.webkit.org/show_bug.cgi?id=51196
30056
30057        * bindings/js/JSDocumentCustom.cpp:
30058        (WebCore::JSDocument::createTouchList):
30059        * bindings/v8/custom/V8DocumentCustom.cpp:
30060        (WebCore::V8Document::createTouchListCallback):
30061        * dom/Document.idl:
30062        * dom/TouchEvent.cpp:
30063        (WebCore::TouchEvent::initTouchEvent):
30064
300652011-01-08  Benjamin Poulain  <benjamin.poulain@nokia.com>
30066
30067        Reviewed by Kenneth Rohde Christiansen.
30068
30069        [Qt] CookieJarQt.cpp has coding-style errors
30070        https://bugs.webkit.org/show_bug.cgi?id=39778
30071
30072        Improve the coding style of CookieJarQt.cpp.
30073
30074        * platform/qt/CookieJarQt.cpp:
30075        (WebCore::networkAccessManager):
30076        (WebCore::cookiesEnabled):
30077
300782011-01-08  Jeff Miller  <jeffm@apple.com>
30079
30080        Rubber-stamped by Dan Bernstein.
30081
30082        Fix QTMovieWin.vcproj to account for moving WebCore to Source\WebCore
30083        https://bugs.webkit.org/show_bug.cgi?id=52114
30084
30085        * WebCore.vcproj/QTMovieWin.vcproj:
30086        Add an extra .. to some InheritedPropertySheets entries since WebCore is now one level deeper.
30087
300882011-01-08  Dirk Schulze  <krit@webkit.org>
30089
30090        Reviewed by Mihai Parparita.
30091
30092        SVG rendering clean up according to the webkit style rules 2
30093        https://bugs.webkit.org/show_bug.cgi?id=52112
30094
30095        Modified the style of the license of all files in WebCore/rendering/svg to match the style
30096        in WebCore/svg. Cleaned up the code according to the webkit style rules.
30097
30098        No change of functionality. No test added.
30099
30100        * rendering/svg/RenderSVGInline.cpp:
30101        * rendering/svg/RenderSVGInline.h:
30102        * rendering/svg/RenderSVGInlineText.cpp:
30103        * rendering/svg/RenderSVGInlineText.h:
30104        * rendering/svg/RenderSVGPath.cpp:
30105        * rendering/svg/RenderSVGPath.h:
30106        * rendering/svg/RenderSVGTSpan.cpp:
30107        * rendering/svg/RenderSVGTSpan.h:
30108        * rendering/svg/RenderSVGText.cpp:
30109        * rendering/svg/RenderSVGText.h:
30110        * rendering/svg/RenderSVGTextPath.cpp:
30111        * rendering/svg/RenderSVGTextPath.h:
30112        * rendering/svg/SVGInlineFlowBox.cpp:
30113        * rendering/svg/SVGInlineFlowBox.h:
30114        * rendering/svg/SVGInlineTextBox.cpp:
30115        * rendering/svg/SVGInlineTextBox.h:
30116        * rendering/svg/SVGRootInlineBox.cpp:
30117        * rendering/svg/SVGRootInlineBox.h:
30118        * rendering/svg/SVGTextLayoutEngineBaseline.cpp: Brace was misplaced accoring to check-webkit-style.
30119        (WebCore::SVGTextLayoutEngineBaseline::calculateGlyphOrientationAngle):
30120        * rendering/svg/SVGTextQuery.cpp:
30121        * rendering/svg/SVGTextQuery.h:
30122
301232011-01-08  Dirk Schulze  <krit@webkit.org>
30124
30125        Reviewed by Mihai Parparita.
30126
30127        SVG rendering clean up according to the webkit style rules
30128        https://bugs.webkit.org/show_bug.cgi?id=52107
30129
30130        Cleanup of the SVG rendering code according to the webbkit style rules.
30131        Changed style of licensing texts to match the style in WebCore/svg, no change
30132        of the licensing text itself.
30133
30134        * rendering/RenderForeignObject.cpp:
30135        * rendering/RenderForeignObject.h:
30136        * rendering/RenderSVGBlock.cpp:
30137        * rendering/RenderSVGBlock.h:
30138        * rendering/RenderSVGContainer.cpp:
30139        * rendering/RenderSVGContainer.h:
30140        * rendering/RenderSVGGradientStop.cpp:
30141        * rendering/RenderSVGGradientStop.h:
30142        * rendering/RenderSVGHiddenContainer.cpp:
30143        * rendering/RenderSVGHiddenContainer.h:
30144        (WebCore::RenderSVGHiddenContainer::renderName):
30145        (WebCore::RenderSVGHiddenContainer::isSVGHiddenContainer):
30146        (WebCore::RenderSVGHiddenContainer::requiresLayer):
30147        (WebCore::RenderSVGHiddenContainer::clippedOverflowRectForRepaint):
30148        * rendering/RenderSVGImage.cpp:
30149        * rendering/RenderSVGImage.h:
30150        * rendering/RenderSVGModelObject.h:
30151        * rendering/RenderSVGResource.cpp:
30152        * rendering/RenderSVGResource.h:
30153        * rendering/RenderSVGResourceClipper.cpp:
30154        * rendering/RenderSVGResourceClipper.h:
30155        * rendering/RenderSVGResourceContainer.cpp:
30156        * rendering/RenderSVGResourceContainer.h:
30157        * rendering/RenderSVGResourceFilter.cpp:
30158        * rendering/RenderSVGResourceFilter.h:
30159        * rendering/RenderSVGResourceFilterPrimitive.cpp:
30160        * rendering/RenderSVGResourceFilterPrimitive.h:
30161        * rendering/RenderSVGResourceGradient.cpp:
30162        * rendering/RenderSVGResourceGradient.h:
30163        * rendering/RenderSVGResourceLinearGradient.cpp:
30164        * rendering/RenderSVGResourceLinearGradient.h:
30165        * rendering/RenderSVGResourceMarker.cpp:
30166        * rendering/RenderSVGResourceMarker.h:
30167        * rendering/RenderSVGResourceMasker.cpp:
30168        * rendering/RenderSVGResourceMasker.h:
30169        * rendering/RenderSVGResourcePattern.cpp:
30170        * rendering/RenderSVGResourcePattern.h:
30171        * rendering/RenderSVGResourceRadialGradient.cpp:
30172        * rendering/RenderSVGResourceRadialGradient.h:
30173        * rendering/RenderSVGResourceSolidColor.cpp:
30174        * rendering/RenderSVGResourceSolidColor.h:
30175        * rendering/RenderSVGRoot.cpp:
30176        (WebCore::RenderSVGRoot::nodeAtPoint):
30177        * rendering/RenderSVGRoot.h:
30178        * rendering/RenderSVGShadowTreeRootContainer.cpp:
30179        * rendering/RenderSVGShadowTreeRootContainer.h:
30180        * rendering/RenderSVGTransformableContainer.cpp:
30181        (WebCore::RenderSVGTransformableContainer::calculateLocalTransform):
30182        * rendering/RenderSVGTransformableContainer.h:
30183        (WebCore::RenderSVGTransformableContainer::localToParentTransform):
30184        (WebCore::RenderSVGTransformableContainer::setNeedsTransformUpdate):
30185        (WebCore::RenderSVGTransformableContainer::localTransform):
30186        * rendering/RenderSVGViewportContainer.cpp:
30187        * rendering/RenderSVGViewportContainer.h:
30188        * rendering/SVGImageBufferTools.cpp:
30189        * rendering/SVGImageBufferTools.h:
30190        * rendering/SVGMarkerData.h:
30191        * rendering/SVGMarkerLayoutInfo.cpp:
30192        * rendering/SVGMarkerLayoutInfo.h:
30193        * rendering/SVGRenderSupport.cpp:
30194        * rendering/SVGRenderSupport.h:
30195        * rendering/SVGRenderTreeAsText.cpp:
30196        (WebCore::operator<<):
30197        * rendering/SVGRenderTreeAsText.h:
30198        * rendering/SVGResources.cpp:
30199        * rendering/SVGResources.h:
30200        * rendering/SVGResourcesCache.cpp:
30201        * rendering/SVGResourcesCache.h:
30202        * rendering/SVGResourcesCycleSolver.cpp:
30203        * rendering/SVGResourcesCycleSolver.h:
30204        * rendering/SVGShadowTreeElements.cpp:
30205        * rendering/SVGShadowTreeElements.h:
30206
302072011-01-07  Adam Barth  <abarth@webkit.org>
30208
30209        Rubber-stamped by Eric Seidel.
30210
30211        Move WebCore to Source
30212        https://bugs.webkit.org/show_bug.cgi?id=52050
30213
30214        Update project files to understand WebCore's new location.  I suspect
30215        there will be some follow-up patches after we land this patch.
30216
30217        * Android.derived.jscbindings.mk:
30218        * Android.jscbindings.mk:
30219        * Android.v8bindings.mk:
30220        * GNUmakefile.am:
30221        * WebCore.gyp/WebCore.gyp:
30222        * WebCore.pri:
30223        * WebCore.pro:
30224        * WebCore.vcproj/WebCore.vcproj:
30225        * WebCore.vcproj/WebCoreGeneratedCairo.vsprops:
30226        * WebCore.vcproj/WebCoreGeneratedCommon.vsprops:
30227
302282011-01-07  Justin Garcia  <justin.garcia@apple.com>
30229
30230        Reviewed by Dan Bernstein.
30231
30232        https://bugs.webkit.org/show_bug.cgi?id=51851
30233        Implement RenderSVGInlineText::localCaretRect()
30234
30235        * rendering/svg/RenderSVGInlineText.cpp:
30236        (WebCore::RenderSVGInlineText::localCaretRect): Implemented.
30237
302382011-01-07  Ryosuke Niwa  <rniwa@webkit.org>
30239
30240        Unreviewed; Added the missing null pointer check for r75293.
30241
30242        * dom/Document.cpp:
30243        (WebCore::Document::adoptNode):
30244
302452011-01-07  Stephanie Lewis  <slewis@apple.com>
30246
30247        Reviewed by Geoff Garen.
30248
30249         <rdar://problem/8649617> Migrate memory tracking from Safari to WebKit
30250        https://bugs.webkit.org/show_bug.cgi?id=50799 Add Memory Sampler to WebKit
30251        
30252        Add a sampler for printing off process memory statistics.
30253        Export file mode.
30254
30255        * WebCore.exp.in:
30256
302572011-01-06  Ryosuke Niwa  <rniwa@webkit.org>
30258
30259        Reviewed by Adam Barth.
30260
30261        onbeforeunload is broken for framesets
30262        https://bugs.webkit.org/show_bug.cgi?id=19418
30263
30264        Added beforeunload event support for sub frames. WebKit's implementation tries to match
30265        that of Internet Explorer as much as possible. beforeunload event is fired for each and
30266        every descendent of a frame that is about to navigate.
30267
30268        When a value other than null is returned by a beforeunload handler, a confirmation dialog
30269        is shown for each handler (calls chrome's runBeforeUnloadConfirmPanel) just like it is done
30270        for main frames.
30271
30272        In addition, navigation is forbidden while beforeunload handlers are being called.
30273        Setting values to location.href, location.reload, and other means of navigations are thus
30274        ignored while beforeunload event handler is being ran, matching Internet Explorer's behavior.
30275
30276        Because navigation needs to prevented globally, NavigationDisablerForBeforeUnload is added to
30277        NavigationScheduler.h, which is instantiated as a RAII object in FrameLoader::shouldClose.
30278
30279        Tests: fast/events/before-unload-adopt-subframe-to-outside.html
30280               fast/events/before-unload-adopt-within-subframes.html
30281               fast/events/before-unload-forbidden-navigation.html
30282               fast/events/before-unload-in-multiple-subframes.html
30283               fast/events/before-unload-in-subframe.html
30284               fast/events/before-unload-javascript-navigation.html
30285               fast/events/before-unload-remove-and-add-subframe.html
30286               fact/events/before-unload-remove-itself.html
30287               fast/events/before-unload-with-subframes.html
30288
30289       * loader/FrameLoader.cpp:
30290       (WebCore::FrameLoader::shouldClose): Calls fireBeforeUnloadEvent on m_frame and m_frame's
30291       descendents. Returns true only if every call to fireBeforeUnloadEvent returned true.
30292       (WebCore::FrameLoader::fireBeforeUnloadEvent): Fires a beforeunload event and calls
30293       chrome's runBeforeUnloadConfirmPanel as needed.
30294       (WebCore::FrameLoader::continueLoadAfterNavigationPolicy): Calls shouldClose for all frames.
30295       * loader/FrameLoader.h:
30296       * loader/NavigationScheduler.cpp:
30297       (WebCore::NavigationScheduler::shouldScheduleNavigation): Checks the nullity of Page and calls
30298       NavigationDisablerForBeforeUnload::isNavigationAllowed when url is not javascript scheme.
30299       (WebCore::NavigationScheduler::scheduleRedirect): Calls shouldScheduleNavigation.
30300       (WebCore::NavigationScheduler::scheduleLocationChange): Ditto.
30301       (WebCore::NavigationScheduler::scheduleRefresh): Ditto.
30302       (WebCore::NavigationScheduler::scheduleHistoryNavigation): Ditto.
30303       * loader/NavigationScheduler.h:
30304       (WebCore::NavigationDisablerForBeforeUnload::NavigationDisablerForBeforeUnload): Disables navigation.
30305       (WebCore::NavigationDisablerForBeforeUnload::~NavigationDisablerForBeforeUnload): Enables navigation
30306       when called on the last instance of NavigationDisablerForBeforeUnload.
30307       (WebCore::NavigationDisablerForBeforeUnload::isNavigationAllowed): Returns true if there are no instance
30308       of NavigationDisablerForBeforeUnload left on the stack.
30309
303102011-01-07  Martin Robinson  <mrobinson@igalia.com>
30311
30312        Build fix for GTK+.
30313
30314        * GNUmakefile.am: Add RenderFullScreen.cpp to the sources list.
30315        * rendering/RenderFullScreen.cpp:
30316        (RenderFullScreen::setAnimating): Guard the call to contentChanged
30317        with ENABLED(ACCELERATED_COMPOSITING).
30318
303192011-01-07  Ryosuke Niwa  <rniwa@webkit.org>
30320
30321        Unreviewed; speculative fix for Windows debug build.
30322
30323        * bindings/js/JSBindingsAllInOne.cpp:
30324
303252011-01-07  Ryosuke Niwa  <rniwa@webkit.org>
30326
30327        Reviewed by Ojan Vafai.
30328
30329        Adopting an iframe to a child frame results in stack overflow
30330        https://bugs.webkit.org/show_bug.cgi?id=52018
30331
30332        Throws an exception when a document adopts an iframe that is an ancestor
30333        of the document in the frame hierarchy. New behavior matches that of Firefox.
30334
30335        Test: fast/html/adopt-parent-frame.html
30336
30337        * dom/Document.cpp:
30338        (WebCore::Document::adoptNode):
30339
303402011-01-07  Mihai Parparita  <mihaip@chromium.org>
30341
30342        Reviewed by Darin Fisher.
30343
30344        [Chromium] Scrollbar code cleanup
30345        https://bugs.webkit.org/show_bug.cgi?id=52073
30346
30347        Scrollbar code cleanup:
30348        - Remove ScrollbarThemeMac.{mm|h} from the mac sources list, we use
30349          ScrollbarThemeChromiumMac.{mm|h}
30350        - Remove USE_WEB_THEME_ENGINE_TO_PAINT_THUMB #define now that switch to
30351          WebThemeEngine is permanent
30352        - Fix typo in Linux scrollbar enum name
30353
30354        No new tests (compiles).
30355
30356        * WebCore.gypi:
30357        * platform/chromium/ChromiumBridge.h:
30358        * platform/chromium/ScrollbarThemeChromiumLinux.cpp:
30359        (WebCore::ScrollbarThemeChromiumLinux::paintTrackPiece):
30360        * platform/chromium/ScrollbarThemeChromiumMac.mm:
30361        (WebCore::scrollbarStateToThemeState):
30362        (WebCore::ScrollbarThemeChromiumMac::paint):
30363
303642011-01-07  Jer Noble  <jer.noble@apple.com>
30365
30366        GTK Linux build fix: isDocumentRunningFullScreenAnimation should
30367        be protected both by ENABLE(FULLSCREEN_API) && USE(ACCELERATED_COMPOSITING)
30368
30369        * page/FrameView.cpp:
30370
303712011-01-07  Rafael Weinstein  <rafaelw@chromium.org>
30372
30373        Reviewed by Eric Seidel.
30374
30375        Cleanup: Fold shadowParentNode into shadowHost
30376        https://bugs.webkit.org/show_bug.cgi?id=51059
30377
30378        Replaces all uses of shadowParentNode.
30379
30380        No new tests because no behavior has changed.
30381
30382        * css/CSSStyleSelector.cpp:
30383        (WebCore::CSSStyleSelector::initForStyleResolve):
30384        * dom/Node.cpp:
30385        (WebCore::Node::shadowHost):
30386        (WebCore::Node::shadowAncestorNode):
30387        (WebCore::eventTargetRespectingSVGTargetRules):
30388        (WebCore::Node::getEventAncestors):
30389        * dom/Node.h:
30390        * editing/Editor.cpp:
30391        (WebCore::Editor::findString):
30392        * page/DragController.cpp:
30393        (WebCore::asFileInput):
30394        * page/EventHandler.cpp:
30395        (WebCore::EventHandler::handleMousePressEvent):
30396        (WebCore::instanceAssociatedWithShadowTreeElement):
30397        (WebCore::EventHandler::dispatchMouseEvent):
30398        * rendering/RenderBlock.cpp:
30399        (WebCore::RenderBlock::hasLineIfEmpty):
30400        * rendering/RenderSVGShadowTreeRootContainer.cpp:
30401        (WebCore::RenderSVGShadowTreeRootContainer::updateFromElement):
30402        * svg/SVGStyledElement.cpp:
30403        (WebCore::SVGStyledElement::title):
30404
304052011-01-07  Chris Marrin  <cmarrin@apple.com>
30406
30407        Unreviewed.
30408
30409        I mistakenly included a Windows only file in a
30410        cross platform file. 
30411
30412        * platform/graphics/ca/GraphicsLayerCA.cpp:
30413
304142011-01-07  Chris Marrin  <cmarrin@apple.com>
30415
30416        Unreviewed.
30417
30418        Get rid of include of <QuartzCore/QuartzCore.h>
30419
30420        * platform/graphics/ca/GraphicsLayerCA.cpp:
30421
304222011-01-07  Jer Noble  <jer.noble@apple.com>
30423
30424        Further build fixes.  Add a ENABLE(FULLSCREEN_API) guard around
30425        the implementation of requiresCompositingfForFullScreen.
30426
30427        * rendering/RenderLayerCompositor.cpp:
30428        (WebCore::RenderLayerCompositor::requiresCompositingForFullScreen):
30429
304302011-01-07  Jer Noble  <jer.noble@apple.com>
30431
30432        No review, build fix only.  Removed parameter who was causing
30433        a warning in Release builds.
30434
30435        * dom/Document.cpp:
30436        (WebCore::Document::webkitDidExitFullScreenForElement):
30437
304382011-01-07  Chris Marrin  <cmarrin@apple.com>
30439
30440        Unreviewed.
30441
30442        Use new wkCACFLayerGetContextUserData function
30443
30444        * platform/graphics/ca/win/PlatformCALayerWin.cpp:
30445
304462011-01-07  James Robinson  <jamesr@chromium.org>
30447
30448        Fix compile bustage due to bad merge in 75276.
30449
30450        * page/animation/AnimationController.cpp:
30451        (WebCore::AnimationControllerPrivate::beginAnimationUpdateTime):
30452
304532010-12-17  Jer Noble  <jer@kokode.apple.com>
30454
30455        Reviewed by Simon Fraser.
30456
30457        Implement WebKit Full Screen support.
30458        https://bugs.webkit.org/show_bug.cgi?id=49481
30459        rdar://problem/8247444
30460
30461        Mark for export all those WebCore functions needed by WebFullscreenController.
30462
30463        * WebCore.exp.in:
30464
304652010-12-17  Jer Noble  <jer@kokode.apple.com>
30466
30467        Reviewed by Simon Fraser.
30468
30469        Implement WebKit Full Screen support.
30470        https://bugs.webkit.org/show_bug.cgi?id=49481
30471        rdar://problem/8247444
30472        
30473        screenRect is useful for more than just HTMLMediaElements.  Promote it into
30474        Element.
30475
30476        * dom/Element.cpp: Moved into Element from HTMLMediaElement.
30477        * dom/Element.h: Ditto.
30478        * dom/Node.cpp:
30479        * html/HTMLMediaElement.cpp: Moved screenRect into Element.
30480        * html/HTMLMediaElement.h: Ditto.
30481        * WebCore.exp.in: Modify the exports list to reflect the new symbol name.
30482
304832010-12-17  Jer Noble  <jer@kokode.apple.com>
30484
30485        Reviewed by Simon Fraser.
30486
30487        Implement WebKit Full Screen support.
30488        https://bugs.webkit.org/show_bug.cgi?id=49481
30489        rdar://problem/8247444
30490
30491        The RenderFullScreen is intended to be used by clients of that API to allow a DOM subtree to
30492        be rendered outside its original Frame. Because of this, there are a few areas of the
30493        rendering code which need to be special cased: RenderFullScreen layers should not be clipped
30494        to the viewport, as they will almost always be rendering outside the viewport area;
30495        RenderFullScreen graphics layers should not be reparented by the RenderLayerCompositor, as
30496        the client will likely want to reparent the platformLayer into their own fullscreen platform
30497        window; the FrameView must update the RenderFullScreen graphics layer tree separately from
30498        the root layer, as the two trees are disconnected.
30499
30500        * page/FrameView.cpp:
30501        (WebCore::FrameView::updateCompositingLayers):  Special treatment for fullscreen renderer.
30502        (WebCore::FrameView::syncCompositingStateRecursive): Ditto.
30503        (WebCore::FrameView::paintContents): Ditto.
30504        * rendering/RenderLayer.h: Add a new ContentChangeType enum entry for FullScreen.
30505        * rendering/RenderLayer.cpp: 
30506        (WebCore::RenderLayer::contentChanged): Add support for above.
30507        * rendering/RenderLayerBacking.cpp:
30508        (WebCore::layerOrAncestorIsFullScreen): New function.
30509        (WebCore::RenderLayerBacking::updateCompositedBounds): Do not clip if the layerOrAncestorIsFullScreen.
30510        * rendering/RenderLayerCompositor.cpp:
30511        (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree): Special treatment for fullscreen renderer.
30512        (WebCore::RenderLayerCompositor::requiresCompositingLayer): Ditto.
30513        (WebCore::RenderLayerCompositor::requiresCompositingForFullScreen): Ditto.
30514        * rendering/RenderLayerCompositor.h:
30515
305162010-12-17  Jer Noble  <jer@kokode.apple.com>
30517
30518        Reviewed by Simon Fraser.
30519
30520        Implemented non-accelerated fullscreen support.  The Document will now vend a RenderFullScreen object for clients to
30521        use to relocate the fullscreen element subtree.
30522
30523        https://bugs.webkit.org/show_bug.cgi?id=49481
30524        rdar://problem/8247444
30525
30526        * css/CSSStyleSelector.cpp:
30527        (WebCore::loadFullScreenRulesIfNeeded): Change webkitFullScreen -> webkitIsFullScreen.
30528        (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): Ditto.
30529        * dom/Document.cpp:
30530        (WebCore::Document::Document): Initialize m_fullScreenRenderer.
30531        (WebCore::Document::detach): Call setFullScreenRenderer(0).
30532        (WebCore::Document::nodeWillBeRemoved): Replicate the logic in webkitWillEnterFullScreenForElement.
30533        (WebCore::Document::webkitWillEnterFullScreenForElement):  Detach the fullscreen element to cause
30534            a new RenderFullScreen renderer to be created with the new fullscreen element.
30535        (WebCore::Document::webkitDidEnterFullScreenForElement):  Notify clients of a fullscreen change
30536            here, rather in "willEnter", to avoid reentrancy problems when clients remove nodes in response
30537            to webkitfullscreenchange events.
30538        (WebCore::Document::webkitWillExitFullScreenForElement): Recalculate the fullscreen element's style.
30539        (WebCore::Document::webkitDidExitFullScreenForElement): Ditto.
30540        (WebCore::Document::setFullScreenRenderer): Accessor for m_fullScreenRenderer.
30541        (WebCore::Document::setFullScreenRendererSize): Set the style on the m_fullScreenRenderer with a new
30542            size; this keeps clients from having to access the renderer's style directly.
30543        (WebCore::Document::setFullScreenRendererBackgroundColor): Ditto.
30544        * dom/Document.h:
30545        (WebCore::Document::webkitIsFullScreen): Change webkitFullScreen -> webkitIsFullScreen.
30546        (WebCore::Document::fullScreenRenderer): Accessor.
30547        * dom/Document.idl:
30548        * dom/Node.cpp:
30549        (WebCore::Node::createRendererIfNeeded): If the document is in fullscreen mode, create a RenderFullScreen
30550            object to insert between the fullscreen element and its parent.
30551        * page/ChromeClient.h:
30552        (WebCore::ChromeClient::fullScreenRendererChanged): Added.
30553        * rendering/MediaControlElements.cpp:
30554        (WebCore::MediaControlFullscreenButtonElement::defaultEventHandler): Change webkitFullScreen -> webkitIsFullScreen.
30555
305562010-12-17  Jer Noble  <jer@kokode.apple.com>
30557
30558        Reviewed by Simon Fraser.
30559
30560        Implement WebKit Full Screen support.
30561        https://bugs.webkit.org/show_bug.cgi?id=49481
30562        rdar://problem/8247444
30563        
30564        This patch introduces a new RenderObject type: RenderFullScreen.  The RenderFullScreen renderer 
30565        will be used to implement new FullScreen APIs.  Because the RenderFullScreen object will be the
30566        parent of the current fullscreen element, the style rules for fullscreen objects must change to
30567        match.
30568        
30569        * WebCore.xcodeproj/project.pbxproj:
30570        * rendering/RenderFullScreen.cpp: Added.
30571        (RenderFullScreen::setAnimating): Sets the m_isAnimating flag.
30572        (RenderFullScreen::createFullScreenStyle): Returns a new RenderStyle containing the default stye
30573            for RenderFullScreen objects.
30574        * rendering/RenderFullScreen.h: Added.
30575        (WebCore::RenderFullScreen::isRenderFullScreen): Added.  Overrides the RenderObject version.
30576        * rendering/RenderObject.h:
30577        (WebCore::RenderObject::isRenderFullScreen): Added.  Used for type-checking RenderFullScreen objects.
30578        * css/fullscreen.css:  Modified the contained fullscreen styles.
30579
30580
305812011-01-07  James Robinson  <jamesr@chromium.org>
30582
30583        Revert "Implement mozilla's animationTime property"
30584        https://bugs.webkit.org/show_bug.cgi?id=51952
30585
30586        This approach isn't quite right.
30587
30588        * Android.mk:
30589        * CMakeLists.txt:
30590        * GNUmakefile.am:
30591        * WebCore.exp.in:
30592        * WebCore.gypi:
30593        * WebCore.pro:
30594        * WebCore.vcproj/WebCore.vcproj:
30595        * WebCore.xcodeproj/project.pbxproj:
30596        * page/DOMWindow.cpp:
30597        * page/DOMWindow.h:
30598        * page/DOMWindow.idl:
30599        * page/Frame.cpp:
30600        * page/Frame.h:
30601        * page/Page.cpp:
30602        (WebCore::Page::Page):
30603        * page/Page.h:
30604        * page/animation/AnimationController.cpp:
30605        (WebCore::AnimationControllerPrivate::beginAnimationUpdateTime):
30606        * page/animation/AnimationTimeController.cpp: Removed.
30607        * page/animation/AnimationTimeController.h: Removed.
30608
306092011-01-07  Jan Erik Hanssen  <jhanssen@sencha.com>
30610
30611        Reviewed by Andreas Kling.
30612
30613        [Qt] Black text on black buttons using a dark theme
30614        https://bugs.webkit.org/show_bug.cgi?id=35024
30615
30616        Implement RenderThemeQt::systemColor to apply the correct colors from the current Qt style.
30617
30618        * platform/qt/RenderThemeQt.cpp:
30619        (WebCore::RenderThemeQt::systemColor):
30620        * platform/qt/RenderThemeQt.h:
30621
306222011-01-05  Adrienne Walker  <enne@google.com>
30623
30624        Reviewed by Kenneth Russell.
30625
30626        Add WEBKIT_lose_context WebGL extension.
30627        https://bugs.webkit.org/show_bug.cgi?id=51492
30628
30629        Tests: fast/canvas/webgl/context-lost-restored.html
30630               fast/canvas/webgl/context-lost.html
30631
30632        * CMakeLists.txt:
30633        * DerivedSources.make:
30634        * GNUmakefile.am:
30635        * WebCore.gypi:
30636        * WebCore.pri:
30637        * WebCore.pro:
30638        * WebCore.xcodeproj/project.pbxproj:
30639        * bindings/js/JSWebGLRenderingContextCustom.cpp:
30640        (WebCore::toJS):
30641        (WebCore::JSWebGLRenderingContext::getSupportedExtensions):
30642        * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
30643        (WebCore::toV8Object):
30644        (WebCore::V8WebGLRenderingContext::getSupportedExtensionsCallback):
30645        * html/canvas/WebGLExtension.h:
30646        * html/canvas/WebGLRenderingContext.cpp:
30647        (WebCore::WebGLRenderingContext::WebGLRenderingContextRestoreTimer::fired):
30648        (WebCore::WebGLRenderingContext::getExtension):
30649        (WebCore::WebGLRenderingContext::getSupportedExtensions):
30650        (WebCore::WebGLRenderingContext::forceLostContext):
30651        (WebCore::WebGLRenderingContext::onLostContext):
30652        (WebCore::WebGLRenderingContext::getNumberOfExtensions):
30653        (WebCore::WebGLRenderingContext::getExtensionNumber):
30654        * html/canvas/WebGLRenderingContext.h:
30655        * html/canvas/WebKitLoseContext.cpp: Copied from WebCore/html/canvas/WebGLExtension.h.
30656        (WebCore::WebKitLoseContext::WebKitLoseContext):
30657        (WebCore::WebKitLoseContext::~WebKitLoseContext):
30658        (WebCore::WebKitLoseContext::getName):
30659        (WebCore::WebKitLoseContext::create):
30660        (WebCore::WebKitLoseContext::loseContext):
30661        * html/canvas/WebKitLoseContext.h: Copied from WebCore/html/canvas/WebGLExtension.h.
30662        * html/canvas/WebKitLoseContext.idl: Copied from WebCore/html/canvas/WebGLExtension.h.
30663
306642011-01-07  Chris Marrin  <cmarrin@apple.com>
30665
30666        Unreviewed.
30667
30668        Build fix for Chromium. Missing include.
30669
30670        * page/animation/AnimationBase.cpp:
30671
306722011-01-07  Chris Marrin  <cmarrin@apple.com>
30673
30674        Unreviewed.
30675
30676        Build fix.
30677
30678        * platform/graphics/ca/win/PlatformCALayerWin.cpp:
30679
306802011-01-06  Gavin Barraclough  <barraclough@apple.com>
30681
30682        Reviewed by Geoff Garen.
30683
30684        Bug 52035 - Unregistering DOMWrapperWorlds is unsafe
30685
30686        The method DOMWrapperWorld::unregisterWorld() effectively calls the DOMWrapperWorld's
30687        destructor early, in order to release wrappers once we know we no longer intend to use them.
30688        Whilst it is okay to have a method to throw away wrappers (assuming we know we're willing to
30689        lose any state stored on them) it is not okay to deregister the world from the JSGlobalData.
30690        A sequence of events that triggers the bug would look like this:
30691
30692        (1) Create a DOMWrapperWorld.
30693        (2) Register a timer in the world.
30694        (3) Call unregisterWorld() on the world.
30695        (4) Timer goes off, code is executed in the world, creates a Node not attached to a Document.
30696        (5) We attempt to lookup a wrapper map for the world on the JSGlobalData, but because we've
30697            called forgetWorld() none exists.
30698        (6) Attempt to add a wrapper to a NULL map.
30699
30700        Fix the problem by not removing the JSGlobalData's wrapper map until the world really goes away.
30701
30702        * WebCore.exp.in:
30703        * bindings/js/DOMWrapperWorld.cpp:
30704        (WebCore::DOMWrapperWorld::DOMWrapperWorld):
30705        (WebCore::DOMWrapperWorld::~DOMWrapperWorld):
30706        (WebCore::DOMWrapperWorld::clearWrappers):
30707        * bindings/js/DOMWrapperWorld.h:
30708
307092011-01-07  Chris Marrin  <cmarrin@apple.com>
30710
30711        Rubber-stamped by Simon Fraser.
30712
30713        Share code between Mac (CA) and Windows (CACF) GraphicsLayer implementations
30714        https://bugs.webkit.org/show_bug.cgi?id=49388
30715
30716        Final step in unifying GraphicsLayer logic across Win and Mac. This 
30717        implements the Windows side classes for PlatformCALayer and supporting
30718        classes. Also changed MediaPlayer to use new PlatformCALayerClient
30719        so it can use PlatformCALayer directly rather than a dummy GraphicsLayer.
30720        WKCACFLayerRenderer now does the task of notifying animations of their
30721        start time. Also commented out an assert in AnimationBase because
30722        AnimationController's frame time is not in sync with the new 
30723        AnimationTimeController. I've opened a new bug for that issue:
30724
30725            https://bugs.webkit.org/show_bug.cgi?id=52037
30726            
30727        This also includes the Mac side changes backed out in 
30728        http://trac.webkit.org/changeset/75227.
30729
30730        * WebCore.vcproj/WebCore.vcproj:
30731        * WebCore.vcproj/WebCoreCommon.vsprops:
30732        * WebCore.vcproj/copyForwardingHeaders.cmd:
30733        * WebCore.xcodeproj/project.pbxproj:
30734        * config.h:
30735        * page/animation/AnimationBase.cpp:
30736        (WebCore::AnimationBase::freezeAtTime):
30737        (WebCore::AnimationBase::getElapsedTime):
30738        * page/animation/AnimationController.cpp:
30739        (WebCore::AnimationControllerPrivate::beginAnimationUpdateTime):
30740        * page/animation/KeyframeAnimation.cpp:
30741        (WebCore::KeyframeAnimation::fetchIntervalEndpointsForProperty):
30742        * platform/graphics/GraphicsLayer.h:
30743        (WebCore::GraphicsLayer::layerDidDisplay):
30744        (WebCore::GraphicsLayer::showDebugBorders):
30745        (WebCore::GraphicsLayer::showRepaintCounter):
30746        * platform/graphics/ca/GraphicsLayerCA.cpp:
30747        (WebCore::GraphicsLayerCA::platformCALayerAnimationStarted):
30748        (WebCore::GraphicsLayerCA::setContentsToImage):
30749        (WebCore::GraphicsLayerCA::setContentsToMedia):
30750        (WebCore::GraphicsLayerCA::layerDidDisplay):
30751        (WebCore::GraphicsLayerCA::updateSublayerList):
30752        * platform/graphics/ca/GraphicsLayerCA.h:
30753        (WebCore::GraphicsLayerCA::platformCALayer):
30754        (WebCore::GraphicsLayerCA::platformCALayerLayoutSublayersOfLayer):
30755        (WebCore::GraphicsLayerCA::platformCALayerRespondsToLayoutChanges):
30756        (WebCore::GraphicsLayerCA::platformCALayerContentsOrientation):
30757        (WebCore::GraphicsLayerCA::platformCALayerPaintContents):
30758        (WebCore::GraphicsLayerCA::platformCALayerShowDebugBorders):
30759        (WebCore::GraphicsLayerCA::platformCALayerShowRepaintCounter):
30760        (WebCore::GraphicsLayerCA::platformCALayerIncrementRepaintCount):
30761        (WebCore::GraphicsLayerCA::platformCALayerContentsOpaque):
30762        (WebCore::GraphicsLayerCA::platformCALayerDrawsContent):
30763        (WebCore::GraphicsLayerCA::platformCALayerLayerDidDisplay):
30764        * platform/graphics/ca/PlatformCAAnimation.h:
30765        * platform/graphics/ca/PlatformCALayer.h:
30766        (WebCore::PlatformCALayer::owner):
30767        (WebCore::PlatformCALayer::animationStarted):
30768        * platform/graphics/ca/PlatformCALayerClient.h: Copied from WebCore/platform/graphics/ca/PlatformCALayerClient.h.
30769        * platform/graphics/ca/mac/PlatformCALayerMac.mm:
30770        (PlatformCALayer::setOwner):
30771        (PlatformCALayer::create):
30772        (PlatformCALayer::PlatformCALayer):
30773        (PlatformCALayer::contents):
30774        (PlatformCALayer::setContents):
30775        * platform/graphics/ca/win: Added.
30776        * platform/graphics/ca/win/PlatformCAAnimationWin.cpp: Added.
30777        * platform/graphics/ca/win/PlatformCALayerWin.cpp: Added.
30778        * platform/graphics/ca/win/PlatformCALayerWinInternal.cpp: Added.
30779        * platform/graphics/ca/win/PlatformCALayerWinInternal.h: Added.
30780        (WebCore::PlatformCALayerWinInternal::owner):
30781        * platform/graphics/mac/WebGLLayer.mm:
30782        (-[WebGLLayer display]):
30783        * platform/graphics/mac/WebLayer.h:
30784        * platform/graphics/mac/WebLayer.mm:
30785        (drawLayerContents):
30786        (setLayerNeedsDisplayInRect):
30787        (-[WebLayer setNeedsDisplay]):
30788        (-[WebLayer display]):
30789        * platform/graphics/mac/WebTiledLayer.mm:
30790        (-[WebTiledLayer setNeedsDisplay]):
30791        (-[WebTiledLayer display]):
30792        * platform/graphics/win/GraphicsContextCGWin.cpp:
30793        (WebCore::CGContextWithHDC):
30794        * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp:
30795        (WebCore::MediaPlayerPrivateFullscreenWindow::setRootChildLayer):
30796        (WebCore::MediaPlayerPrivateFullscreenWindow::wndProc):
30797        * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.h:
30798        (WebCore::MediaPlayerPrivateFullscreenWindow::rootChildLayer):
30799        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
30800        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayerClient::~LayerClient):
30801        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayerClient::platformCALayerRespondsToLayoutChanges):
30802        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayerClient::platformCALayerAnimationStarted):
30803        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayerClient::platformCALayerContentsOrientation):
30804        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayerClient::platformCALayerPaintContents):
30805        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayerClient::platformCALayerShowDebugBorders):
30806        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayerClient::platformCALayerShowRepaintCounter):
30807        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayerClient::platformCALayerIncrementRepaintCount):
30808        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayerClient::platformCALayerContentsOpaque):
30809        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayerClient::platformCALayerDrawsContent):
30810        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayerClient::platformCALayerLayerDidDisplay):
30811        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayerClient::platformCALayerLayoutSublayersOfLayer):
30812        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::MediaPlayerPrivateQuickTimeVisualContext):
30813        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::platformMedia):
30814        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::retrieveCurrentImage):
30815        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::createLayerForMovie):
30816        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.h:
30817        * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
30818        (WebCore::MediaPlayerPrivate::movieNewImageAvailable):
30819        (WebCore::MediaPlayerPrivate::createLayerForMovie):
30820        * platform/graphics/win/WKCACFLayerRenderer.cpp:
30821        (WebCore::WKCACFLayerRenderer::WKCACFLayerRenderer):
30822        (WebCore::WKCACFLayerRenderer::rootLayer):
30823        (WebCore::WKCACFLayerRenderer::addPendingAnimatedLayer):
30824        (WebCore::WKCACFLayerRenderer::setRootChildLayer):
30825        (WebCore::WKCACFLayerRenderer::setNeedsDisplay):
30826        (WebCore::WKCACFLayerRenderer::destroyRenderer):
30827        (WebCore::WKCACFLayerRenderer::render):
30828        * platform/graphics/win/WKCACFLayerRenderer.h:
30829        (WebCore::WKCACFLayerRendererClient::animationsStarted):
30830        (WebCore::WKCACFLayerRendererClient::syncCompositingState):
30831        * rendering/RenderLayerBacking.cpp:
30832        (WebCore::RenderLayerBacking::showDebugBorders):
30833        (WebCore::RenderLayerBacking::showRepaintCounter):
30834        * rendering/RenderLayerCompositor.cpp:
30835        (WebCore::RenderLayerCompositor::ensureRootPlatformLayer):
30836        * rendering/RenderLayerCompositor.h:
30837        (WebCore::RenderLayerCompositor::compositorShowDebugBorders):
30838        (WebCore::RenderLayerCompositor::compositorShowRepaintCounter):
30839        (WebCore::RenderLayerCompositor::notifyAnimationStarted):
30840        (WebCore::RenderLayerCompositor::notifySyncRequired):
30841        (WebCore::RenderLayerCompositor::paintContents):
30842        (WebCore::RenderLayerCompositor::showDebugBorders):
30843        (WebCore::RenderLayerCompositor::showRepaintCounter):
30844
308452011-01-07  Nate Chapin  <japhet@chromium.org>
30846
30847        Reviewed by Darin Fisher.
30848
30849        Let PingLoader send cookies if FrameLoaderClient permits it.
30850        https://bugs.webkit.org/show_bug.cgi?id=51898
30851
30852        Test: http/tests/navigation/ping-cookie.html
30853
30854        * loader/PingLoader.cpp:
30855        (WebCore::PingLoader::PingLoader): Set m_shouldUseCredentialStorage
30856            at load start time, since we won't be able to call 
30857            FrameLoaderClient::shouldUseCredentialStorage() later.
30858        * loader/PingLoader.h:
30859        (WebCore::PingLoader::shouldUseCredentialStorage):
30860
308612011-01-07  Xan Lopez  <xlopez@igalia.com>
30862
30863        Unreviewed, rolling out r75256.
30864        http://trac.webkit.org/changeset/75256
30865        https://bugs.webkit.org/show_bug.cgi?id=50869
30866
30867        Broke GTK+ canvas tests
30868
30869        * platform/graphics/cairo/PathCairo.cpp:
30870        (WebCore::Path::addArc):
30871
308722011-01-07  Carlos Garcia Campos  <cgarcia@igalia.com>
30873
30874        Reviewed by Martin Robinson.
30875
30876        [GTK] Port scrollbar painting to GtkStyleContext
30877        https://bugs.webkit.org/show_bug.cgi?id=52051
30878
30879        Use GtkStyleContext API to paint scrollbars when building with
30880        GTK+ 3.x.
30881
30882        No new tests. This should not change functionality.
30883
30884        * platform/gtk/RenderThemeGtk.h:
30885        * platform/gtk/RenderThemeGtk3.cpp:
30886        (WebCore::RenderThemeGtk::gtkScrollbarStyle):
30887        * platform/gtk/ScrollbarThemeGtk.cpp:
30888        * platform/gtk/ScrollbarThemeGtk.h:
30889        * platform/gtk/ScrollbarThemeGtk2.cpp:
30890        (WebCore::gtkStyleSetCallback):
30891        (WebCore::ScrollbarThemeGtk::ScrollbarThemeGtk):
30892        * platform/gtk/ScrollbarThemeGtk3.cpp:
30893        (WebCore::gtkStyleChangedCallback):
30894        (WebCore::ScrollbarThemeGtk::ScrollbarThemeGtk):
30895        (WebCore::ScrollbarThemeGtk::updateThemeProperties):
30896        (WebCore::ScrollbarThemeGtk::paintTrackBackground):
30897        (WebCore::ScrollbarThemeGtk::paintScrollbarBackground):
30898        (WebCore::ScrollbarThemeGtk::paintThumb):
30899        (WebCore::ScrollbarThemeGtk::paintButton):
30900
309012011-01-07  Dan Bernstein  <mitz@apple.com>
30902
30903        Reviewed by Darin Adler.
30904
30905        <rdar://problem/8783318> Text emphasis marks should not appear over characters that have ruby annotations
30906        https://bugs.webkit.org/show_bug.cgi?id=51267
30907
30908        Test: fast/text/emphasis-avoid-ruby.html
30909
30910        * rendering/InlineFlowBox.cpp:
30911        (WebCore::InlineFlowBox::placeBoxesInBlockDirection): Use getEmphasisMarkPosition() to check if
30912        there are text emphasis marks.
30913        (WebCore::InlineFlowBox::addTextBoxVisualOverflow): Ditto.
30914        (WebCore::InlineFlowBox::computeOverAnnotationAdjustment): Ditto.
30915        * rendering/InlineTextBox.cpp:
30916        (WebCore::InlineTextBox::getEmphasisMarkPosition): Added. Returns true and sets the emphasis mark
30917        position if the text is style with emphasis marks and there isn’t a ruby annotation that should
30918        suppress them. Otherwise returns false.
30919        (WebCore::InlineTextBox::paint): Use getEmphasisMarkPosition() to check if emphasis marks should
30920        be painted.
30921        * rendering/InlineTextBox.h:
30922
309232011-01-07  Alejandro G. Castro  <alex@igalia.com>
30924
30925        Reviewed by Martin Robinson.
30926
30927        [cairo] Rendering a lot of arcs on top of each other causes time
30928        outs in some tests
30929        https://bugs.webkit.org/show_bug.cgi?id=50869
30930
30931        We avoid the situation where we have to render the same arc
30932        multiple times over itself. Now it renders just one oval and
30933        moves to the end angle.
30934
30935        * platform/graphics/cairo/PathCairo.cpp:
30936        (WebCore::Path::addArc):
30937
309382011-01-07  Carlos Garcia Campos  <cgarcia@igalia.com>
30939
30940        Reviewed by Martin Robinson.
30941
30942        [GTK] Port buttons painting to GtkStyleContext
30943        https://bugs.webkit.org/show_bug.cgi?id=51812
30944
30945        Use GtkStyleContext API to paint buttons when building with GTK+
30946        3.x.
30947
30948        No new tests. This should not change functionality.
30949
30950        * platform/gtk/RenderThemeGtk3.cpp:
30951        (WebCore::adjustRectForFocus):
30952        (WebCore::RenderThemeGtk::adjustRepaintRect):
30953        (WebCore::RenderThemeGtk::paintButton):
30954
309552011-01-07  Zhenyao Mo  <zmo@google.com>
30956
30957        Unreviewed, build fix.
30958
30959        * html/canvas/WebGLRenderingContext.cpp:
30960        (WebCore::WebGLRenderingContext::copyTexSubImage2D):
30961
309622011-01-06  Zhenyao Mo  <zmo@google.com>
30963
30964        Reviewed by Kenneth Russell.
30965
30966        copyTexSubImage2D shouldn't have undefined pixels
30967        https://bugs.webkit.org/show_bug.cgi?id=51559
30968
30969        * html/canvas/WebGLRenderingContext.cpp:
30970        (WebCore::WebGLRenderingContext::copyTexImage2D): Refactor to share some code with copyTexSubImage2D through helper function clip2D.
30971        (WebCore::WebGLRenderingContext::copyTexSubImage2D): Initialize undefined pixels to 0.
30972        (WebCore::WebGLRenderingContext::validateTexFuncLevel): Seperate the validation of level from validateTexFuncParameters.
30973        (WebCore::WebGLRenderingContext::validateTexFuncParameters): Ditto.
30974        * html/canvas/WebGLRenderingContext.h:
30975        * html/canvas/WebGLTexture.cpp:
30976        (WebCore::WebGLTexture::getType): Expose the type of a texture.
30977        * html/canvas/WebGLTexture.h:
30978
309792011-01-07  Takashi Toyoshima  <toyoshim@google.com>
30980
30981        Reviewed by Kenneth Russell.
30982
30983        cleanupAfterGraphicsCall() is never called in
30984        WebGLRenderingContext::checkFramebufferStatus()
30985        https://bugs.webkit.org/show_bug.cgi?id=51668
30986
30987        No new tests. This is a trivial bug.
30988
30989        * html/canvas/WebGLRenderingContext.cpp:
30990        (WebCore::WebGLRenderingContext::checkFramebufferStatus):
30991
309922011-01-07  Mario Sanchez Prada  <msanchez@igalia.com>
30993
30994        Reviewed by Chris Fleizach.
30995
30996        GTK: AX: atk tests need to be updated after recent changes
30997        https://bugs.webkit.org/show_bug.cgi?id=51932
30998
30999        Make sure we can always get the right accesssible parent for an
31000        AtkObject when traversing the hierarchy bottom up.
31001
31002        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
31003        (isRootObject): New function to check whether an
31004        AccessibilityObject is the root one or not, according to the
31005        latest changes in the hierarchy.
31006        (atkParentOfRootObject): Gets the appropriate AtkObject from GTK's
31007        GAIL as the parent of the root AtkObject from WebCore.
31008        (webkit_accessible_get_parent): Use atkParentOfRootObject.
31009        (webkit_accessible_get_index_in_parent): Ditto.
31010        (atkRole): Expose AccessibilityObjects with ScrollAreaRole as
31011        AtkObject's of role ATK_ROLE_SCROLLED_PANE.
31012
310132011-01-07  Zhenyao Mo  <zmo@google.com>
31014
31015        Unreviewed, Mac 32-bit build fix.
31016        Use float instead of double in GL function arguments to avoid implicit type down casting.
31017
31018        * html/canvas/WebGLRenderingContext.cpp:
31019        (WebCore::WebGLRenderingContext::blendColor):
31020        (WebCore::WebGLRenderingContext::clearColor):
31021        (WebCore::WebGLRenderingContext::clearDepth):
31022        (WebCore::WebGLRenderingContext::depthRange):
31023        (WebCore::WebGLRenderingContext::lineWidth):
31024        (WebCore::WebGLRenderingContext::polygonOffset):
31025        (WebCore::WebGLRenderingContext::sampleCoverage):
31026        * html/canvas/WebGLRenderingContext.h:
31027        * html/canvas/WebGLRenderingContext.idl:
31028
310292011-01-07  Carlos Garcia Campos  <cgarcia@igalia.com> and Martin Robinson  <mrobinson@igalia.com>
31030
31031        Reviewed by Xan Lopez.
31032
31033        [GTK] Port slider painting to GtkStyleContext
31034        https://bugs.webkit.org/show_bug.cgi?id=51874
31035
31036        Use GtkStyleContext API to paint sliders when building with GTK+
31037        3.x. Also move the code to adjust media slider to its own method
31038        in RenderThemeGtk.cpp since it's common to both gtk 2 and 3.
31039
31040        No new tests. This should not change functionality.
31041
31042        * platform/gtk/RenderThemeGtk.cpp:
31043        (WebCore::RenderThemeGtk::adjustMediaSliderThumbSize):
31044        * platform/gtk/RenderThemeGtk.h:
31045        * platform/gtk/RenderThemeGtk2.cpp:
31046        (WebCore::RenderThemeGtk::adjustSliderThumbSize):
31047        * platform/gtk/RenderThemeGtk3.cpp:
31048        (WebCore::RenderThemeGtk::paintSliderTrack):
31049        (WebCore::RenderThemeGtk::paintSliderThumb):
31050        (WebCore::RenderThemeGtk::adjustSliderThumbSize):
31051
310522011-01-07  Benjamin Poulain  <benjamin.poulain@nokia.com>
31053
31054        Reviewed by Andreas Kling.
31055
31056        [Qt] [WK2] QtWebKit does not build in debug, FileReader.cpp does not compile
31057        https://bugs.webkit.org/show_bug.cgi?id=51992
31058
31059        Add the missing header. CString is used in debug by the calls to LOG().
31060
31061        * fileapi/FileReader.cpp:
31062
310632011-01-07  Alejandro G. Castro  <alex@igalia.com>
31064
31065        Reviewed by Martin Robinson.
31066
31067        Cairo's ContextShadow may mis-render some box shadows
31068        https://bugs.webkit.org/show_bug.cgi?id=51374
31069
31070        The space required for the internal shadow of the corners was not
31071        correctly considered.
31072
31073        * platform/graphics/cairo/ContextShadowCairo.cpp:
31074        (WebCore::ContextShadow::drawRectShadow):
31075
310762011-01-06  Adam Barth  <abarth@webkit.org>
31077
31078        Reviewed by Darin Adler.
31079
31080        REGRESSION (r74663): ASSERTION FAILED: m_tokenizer->lineNumber() == line.zeroBasedInt()
31081        https://bugs.webkit.org/show_bug.cgi?id=52013
31082
31083        When excluding line numbers for composite strings, we forgot to exclude
31084        the line number for the current string!
31085
31086        Test: fast/parser/line-number-composite-segmented-string.html
31087
31088        * platform/text/SegmentedString.cpp:
31089        (WebCore::SegmentedString::setExcludeLineNumbers):
31090
310912011-01-06  Chris Marrin  <cmarrin@apple.com>
31092
31093        Unreviewed.
31094
31095        Back out changes in http://trac.webkit.org/changeset/75199
31096        This breaks the Windows build. Fixing it on that side. Until
31097        then I'll back this out.
31098
310992011-01-06  Jenn Braithwaite  <jennb@chromium.org>
31100
31101        Reviewed by Dmitry Titov.
31102
31103        When a live frame is moved between pages, some plug-in DOM methods cease to function
31104        https://bugs.webkit.org/show_bug.cgi?id=45770
31105
31106        Test: fast/frames/iframe-reparenting-plugins.html
31107
31108        * page/Frame.cpp:
31109        (WebCore::Frame::~Frame):
31110        (WebCore::Frame::addObserver):
31111        (WebCore::Frame::removeObserver):
31112        * page/Frame.h:
31113        (WebCore::FrameDestructionObserver::~FrameDestructionObserver):
31114        Added observer to be notified when frame is destroyed.
31115        * page/Page.cpp:
31116        (WebCore::Page::~Page):
31117        (WebCore::Page::refreshPlugins):
31118        PluginData no longer stores page pointer.
31119        * plugins/DOMMimeType.cpp:
31120        (WebCore::DOMMimeType::DOMMimeType):
31121        (WebCore::DOMMimeType::~DOMMimeType):
31122        (WebCore::DOMMimeType::enabledPlugin):
31123        * plugins/DOMMimeType.h:
31124        (WebCore::DOMMimeType::create):
31125        (WebCore::DOMMimeType::frameDestroyed):
31126        Store frame instead of page pointer in DOMMimeType.
31127        * plugins/DOMMimeTypeArray.cpp:
31128        (WebCore::DOMMimeTypeArray::item):
31129        (WebCore::DOMMimeTypeArray::namedItem):
31130        Provide frame to create DOMMimeType.
31131        * plugins/DOMPlugin.cpp:
31132        (WebCore::DOMPlugin::DOMPlugin):
31133        (WebCore::DOMPlugin::~DOMPlugin):
31134        (WebCore::DOMPlugin::item):
31135        (WebCore::DOMPlugin::namedItem):
31136        * plugins/DOMPlugin.h:
31137        (WebCore::DOMPlugin::create):
31138        (WebCore::DOMPlugin::frameDestroyed):
31139        Store frame instead of page pointer in DOMPlugin.
31140        * plugins/DOMPluginArray.cpp:
31141        (WebCore::DOMPluginArray::item):
31142        (WebCore::DOMPluginArray::namedItem):
31143        Provide frame to create DOMPlugin.
31144        * plugins/PluginData.cpp:
31145        (WebCore::PluginData::PluginData):
31146        (WebCore::PluginData::initPlugins):
31147        * plugins/PluginData.h:
31148        No longer stores a pointer to the page.
31149        Added page parameter to initPlugins.
31150        * plugins/PluginDataNone.cpp:
31151        (WebCore::PluginData::initPlugins):
31152        * plugins/chromium/PluginDataChromium.cpp:
31153        (WebCore::PluginData::initPlugins):
31154        * plugins/gtk/PluginDataGtk.cpp:
31155        (WebCore::PluginData::initPlugins):
31156        * plugins/wx/PluginDataWx.cpp:
31157        (WebCore::PluginData::initPlugins):
31158        Updated platforms to add (unused) page parameter to initPlugins.
31159
311602011-01-05  Zhenyao Mo  <zmo@google.com>
31161
31162        Reviewed by Kenneth Russell.
31163
31164        Define GC3D types to match GL types and use them in GraphicsContext3D
31165        https://bugs.webkit.org/show_bug.cgi?id=45557
31166
31167        * html/canvas/WebGLRenderingContext.cpp:
31168        (WebCore::WebGLRenderingContext::readPixels):
31169        (WebCore::WebGLRenderingContext::validateTexFuncData):
31170        * platform/graphics/GraphicsContext3D.cpp:
31171        (WebCore::GraphicsContext3D::texImage2DResourceSafe):
31172        (WebCore::GraphicsContext3D::computeFormatAndTypeParameters):
31173        (WebCore::GraphicsContext3D::extractImageData):
31174        (WebCore::GraphicsContext3D::extractTextureData):
31175        * platform/graphics/GraphicsContext3D.h:
31176        * platform/graphics/cg/GraphicsContext3DCG.cpp:
31177        (WebCore::GraphicsContext3D::getImageData):
31178        * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
31179        (WebCore::SharedGraphicsContext3D::enable):
31180        (WebCore::SharedGraphicsContext3D::disable):
31181        (WebCore::SharedGraphicsContext3D::clear):
31182        (WebCore::SharedGraphicsContext3D::drawArrays):
31183        (WebCore::SharedGraphicsContext3D::getError):
31184        (WebCore::SharedGraphicsContext3D::getIntegerv):
31185        (WebCore::SharedGraphicsContext3D::createFramebuffer):
31186        (WebCore::SharedGraphicsContext3D::createTexture):
31187        (WebCore::SharedGraphicsContext3D::deleteFramebuffer):
31188        (WebCore::SharedGraphicsContext3D::deleteTexture):
31189        (WebCore::SharedGraphicsContext3D::framebufferTexture2D):
31190        (WebCore::SharedGraphicsContext3D::texParameteri):
31191        (WebCore::SharedGraphicsContext3D::texImage2D):
31192        (WebCore::SharedGraphicsContext3D::texSubImage2D):
31193        (WebCore::SharedGraphicsContext3D::readPixels):
31194        (WebCore::SharedGraphicsContext3D::setActiveTexture):
31195        (WebCore::SharedGraphicsContext3D::bindTexture):
31196        (WebCore::SharedGraphicsContext3D::bindFramebuffer):
31197        * platform/graphics/gpu/SharedGraphicsContext3D.h:
31198        * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
31199        (WebCore::GraphicsContext3D::activeTexture):
31200        (WebCore::GraphicsContext3D::attachShader):
31201        (WebCore::GraphicsContext3D::bindAttribLocation):
31202        (WebCore::GraphicsContext3D::bindBuffer):
31203        (WebCore::GraphicsContext3D::bindFramebuffer):
31204        (WebCore::GraphicsContext3D::bindRenderbuffer):
31205        (WebCore::GraphicsContext3D::bindTexture):
31206        (WebCore::GraphicsContext3D::blendColor):
31207        (WebCore::GraphicsContext3D::blendEquation):
31208        (WebCore::GraphicsContext3D::blendEquationSeparate):
31209        (WebCore::GraphicsContext3D::blendFunc):
31210        (WebCore::GraphicsContext3D::blendFuncSeparate):
31211        (WebCore::GraphicsContext3D::bufferData):
31212        (WebCore::GraphicsContext3D::bufferSubData):
31213        (WebCore::GraphicsContext3D::checkFramebufferStatus):
31214        (WebCore::GraphicsContext3D::clearColor):
31215        (WebCore::GraphicsContext3D::clear):
31216        (WebCore::GraphicsContext3D::clearDepth):
31217        (WebCore::GraphicsContext3D::clearStencil):
31218        (WebCore::GraphicsContext3D::colorMask):
31219        (WebCore::GraphicsContext3D::compileShader):
31220        (WebCore::GraphicsContext3D::copyTexImage2D):
31221        (WebCore::GraphicsContext3D::copyTexSubImage2D):
31222        (WebCore::GraphicsContext3D::cullFace):
31223        (WebCore::GraphicsContext3D::depthFunc):
31224        (WebCore::GraphicsContext3D::depthMask):
31225        (WebCore::GraphicsContext3D::depthRange):
31226        (WebCore::GraphicsContext3D::detachShader):
31227        (WebCore::GraphicsContext3D::disable):
31228        (WebCore::GraphicsContext3D::disableVertexAttribArray):
31229        (WebCore::GraphicsContext3D::drawArrays):
31230        (WebCore::GraphicsContext3D::drawElements):
31231        (WebCore::GraphicsContext3D::enable):
31232        (WebCore::GraphicsContext3D::enableVertexAttribArray):
31233        (WebCore::GraphicsContext3D::framebufferRenderbuffer):
31234        (WebCore::GraphicsContext3D::framebufferTexture2D):
31235        (WebCore::GraphicsContext3D::frontFace):
31236        (WebCore::GraphicsContext3D::generateMipmap):
31237        (WebCore::GraphicsContext3D::getActiveAttrib):
31238        (WebCore::GraphicsContext3D::getActiveUniform):
31239        (WebCore::GraphicsContext3D::getAttachedShaders):
31240        (WebCore::GraphicsContext3D::getAttribLocation):
31241        (WebCore::GraphicsContext3D::getError):
31242        (WebCore::GraphicsContext3D::getString):
31243        (WebCore::GraphicsContext3D::hint):
31244        (WebCore::GraphicsContext3D::isBuffer):
31245        (WebCore::GraphicsContext3D::isEnabled):
31246        (WebCore::GraphicsContext3D::isFramebuffer):
31247        (WebCore::GraphicsContext3D::isProgram):
31248        (WebCore::GraphicsContext3D::isRenderbuffer):
31249        (WebCore::GraphicsContext3D::isShader):
31250        (WebCore::GraphicsContext3D::isTexture):
31251        (WebCore::GraphicsContext3D::lineWidth):
31252        (WebCore::GraphicsContext3D::linkProgram):
31253        (WebCore::GraphicsContext3D::pixelStorei):
31254        (WebCore::GraphicsContext3D::polygonOffset):
31255        (WebCore::GraphicsContext3D::readPixels):
31256        (WebCore::GraphicsContext3D::renderbufferStorage):
31257        (WebCore::GraphicsContext3D::sampleCoverage):
31258        (WebCore::GraphicsContext3D::scissor):
31259        (WebCore::GraphicsContext3D::stencilFunc):
31260        (WebCore::GraphicsContext3D::stencilFuncSeparate):
31261        (WebCore::GraphicsContext3D::stencilMask):
31262        (WebCore::GraphicsContext3D::stencilMaskSeparate):
31263        (WebCore::GraphicsContext3D::stencilOp):
31264        (WebCore::GraphicsContext3D::stencilOpSeparate):
31265        (WebCore::GraphicsContext3D::texParameterf):
31266        (WebCore::GraphicsContext3D::texParameteri):
31267        (WebCore::GraphicsContext3D::uniform1f):
31268        (WebCore::GraphicsContext3D::uniform1fv):
31269        (WebCore::GraphicsContext3D::uniform2f):
31270        (WebCore::GraphicsContext3D::uniform2fv):
31271        (WebCore::GraphicsContext3D::uniform3f):
31272        (WebCore::GraphicsContext3D::uniform3fv):
31273        (WebCore::GraphicsContext3D::uniform4f):
31274        (WebCore::GraphicsContext3D::uniform4fv):
31275        (WebCore::GraphicsContext3D::uniform1i):
31276        (WebCore::GraphicsContext3D::uniform1iv):
31277        (WebCore::GraphicsContext3D::uniform2i):
31278        (WebCore::GraphicsContext3D::uniform2iv):
31279        (WebCore::GraphicsContext3D::uniform3i):
31280        (WebCore::GraphicsContext3D::uniform3iv):
31281        (WebCore::GraphicsContext3D::uniform4i):
31282        (WebCore::GraphicsContext3D::uniform4iv):
31283        (WebCore::GraphicsContext3D::uniformMatrix2fv):
31284        (WebCore::GraphicsContext3D::uniformMatrix3fv):
31285        (WebCore::GraphicsContext3D::uniformMatrix4fv):
31286        (WebCore::GraphicsContext3D::useProgram):
31287        (WebCore::GraphicsContext3D::validateProgram):
31288        (WebCore::GraphicsContext3D::vertexAttrib1f):
31289        (WebCore::GraphicsContext3D::vertexAttrib1fv):
31290        (WebCore::GraphicsContext3D::vertexAttrib2f):
31291        (WebCore::GraphicsContext3D::vertexAttrib2fv):
31292        (WebCore::GraphicsContext3D::vertexAttrib3f):
31293        (WebCore::GraphicsContext3D::vertexAttrib3fv):
31294        (WebCore::GraphicsContext3D::vertexAttrib4f):
31295        (WebCore::GraphicsContext3D::vertexAttrib4fv):
31296        (WebCore::GraphicsContext3D::vertexAttribPointer):
31297        (WebCore::GraphicsContext3D::viewport):
31298        (WebCore::GraphicsContext3D::getBooleanv):
31299        (WebCore::GraphicsContext3D::getBufferParameteriv):
31300        (WebCore::GraphicsContext3D::getFloatv):
31301        (WebCore::GraphicsContext3D::getFramebufferAttachmentParameteriv):
31302        (WebCore::GraphicsContext3D::getIntegerv):
31303        (WebCore::GraphicsContext3D::getProgramiv):
31304        (WebCore::GraphicsContext3D::getProgramInfoLog):
31305        (WebCore::GraphicsContext3D::getRenderbufferParameteriv):
31306        (WebCore::GraphicsContext3D::getShaderiv):
31307        (WebCore::GraphicsContext3D::getShaderInfoLog):
31308        (WebCore::GraphicsContext3D::getTexParameterfv):
31309        (WebCore::GraphicsContext3D::getTexParameteriv):
31310        (WebCore::GraphicsContext3D::getUniformfv):
31311        (WebCore::GraphicsContext3D::getUniformiv):
31312        (WebCore::GraphicsContext3D::getUniformLocation):
31313        (WebCore::GraphicsContext3D::getVertexAttribfv):
31314        (WebCore::GraphicsContext3D::getVertexAttribiv):
31315        (WebCore::GraphicsContext3D::getVertexAttribOffset):
31316        (WebCore::GraphicsContext3D::texImage2D):
31317        (WebCore::GraphicsContext3D::texSubImage2D):
31318        (WebCore::GraphicsContext3D::createBuffer):
31319        (WebCore::GraphicsContext3D::createFramebuffer):
31320        (WebCore::GraphicsContext3D::createProgram):
31321        (WebCore::GraphicsContext3D::createRenderbuffer):
31322        (WebCore::GraphicsContext3D::createShader):
31323        (WebCore::GraphicsContext3D::createTexture):
31324        (WebCore::GraphicsContext3D::deleteBuffer):
31325        (WebCore::GraphicsContext3D::deleteFramebuffer):
31326        (WebCore::GraphicsContext3D::deleteProgram):
31327        (WebCore::GraphicsContext3D::deleteRenderbuffer):
31328        (WebCore::GraphicsContext3D::deleteShader):
31329        (WebCore::GraphicsContext3D::deleteTexture):
31330        (WebCore::GraphicsContext3D::sizeInBytes):
31331        (WebCore::GraphicsContext3D::synthesizeGLError):
31332        * platform/graphics/qt/GraphicsContext3DQt.cpp:
31333        (WebCore::GraphicsContext3D::activeTexture):
31334        (WebCore::GraphicsContext3D::attachShader):
31335        (WebCore::GraphicsContext3D::getAttachedShaders):
31336        (WebCore::GraphicsContext3D::bindAttribLocation):
31337        (WebCore::GraphicsContext3D::bindBuffer):
31338        (WebCore::GraphicsContext3D::bindFramebuffer):
31339        (WebCore::GraphicsContext3D::bindRenderbuffer):
31340        (WebCore::GraphicsContext3D::bindTexture):
31341        (WebCore::GraphicsContext3D::blendColor):
31342        (WebCore::GraphicsContext3D::blendEquation):
31343        (WebCore::GraphicsContext3D::blendEquationSeparate):
31344        (WebCore::GraphicsContext3D::blendFunc):
31345        (WebCore::GraphicsContext3D::blendFuncSeparate):
31346        (WebCore::GraphicsContext3D::bufferData):
31347        (WebCore::GraphicsContext3D::bufferSubData):
31348        (WebCore::GraphicsContext3D::checkFramebufferStatus):
31349        (WebCore::GraphicsContext3D::clearColor):
31350        (WebCore::GraphicsContext3D::clear):
31351        (WebCore::GraphicsContext3D::clearDepth):
31352        (WebCore::GraphicsContext3D::clearStencil):
31353        (WebCore::GraphicsContext3D::colorMask):
31354        (WebCore::GraphicsContext3D::compileShader):
31355        (WebCore::GraphicsContext3D::copyTexImage2D):
31356        (WebCore::GraphicsContext3D::copyTexSubImage2D):
31357        (WebCore::GraphicsContext3D::cullFace):
31358        (WebCore::GraphicsContext3D::depthFunc):
31359        (WebCore::GraphicsContext3D::depthMask):
31360        (WebCore::GraphicsContext3D::depthRange):
31361        (WebCore::GraphicsContext3D::detachShader):
31362        (WebCore::GraphicsContext3D::disable):
31363        (WebCore::GraphicsContext3D::disableVertexAttribArray):
31364        (WebCore::GraphicsContext3D::drawArrays):
31365        (WebCore::GraphicsContext3D::drawElements):
31366        (WebCore::GraphicsContext3D::enable):
31367        (WebCore::GraphicsContext3D::enableVertexAttribArray):
31368        (WebCore::GraphicsContext3D::framebufferRenderbuffer):
31369        (WebCore::GraphicsContext3D::framebufferTexture2D):
31370        (WebCore::GraphicsContext3D::frontFace):
31371        (WebCore::GraphicsContext3D::generateMipmap):
31372        (WebCore::GraphicsContext3D::getActiveAttrib):
31373        (WebCore::GraphicsContext3D::getActiveUniform):
31374        (WebCore::GraphicsContext3D::getAttribLocation):
31375        (WebCore::GraphicsContext3D::getError):
31376        (WebCore::GraphicsContext3D::getString):
31377        (WebCore::GraphicsContext3D::hint):
31378        (WebCore::GraphicsContext3D::isBuffer):
31379        (WebCore::GraphicsContext3D::isEnabled):
31380        (WebCore::GraphicsContext3D::isFramebuffer):
31381        (WebCore::GraphicsContext3D::isProgram):
31382        (WebCore::GraphicsContext3D::isRenderbuffer):
31383        (WebCore::GraphicsContext3D::isShader):
31384        (WebCore::GraphicsContext3D::isTexture):
31385        (WebCore::GraphicsContext3D::linkProgram):
31386        (WebCore::GraphicsContext3D::pixelStorei):
31387        (WebCore::GraphicsContext3D::polygonOffset):
31388        (WebCore::GraphicsContext3D::readPixels):
31389        (WebCore::GraphicsContext3D::renderbufferStorage):
31390        (WebCore::GraphicsContext3D::sampleCoverage):
31391        (WebCore::GraphicsContext3D::scissor):
31392        (WebCore::GraphicsContext3D::stencilFunc):
31393        (WebCore::GraphicsContext3D::stencilFuncSeparate):
31394        (WebCore::GraphicsContext3D::stencilMask):
31395        (WebCore::GraphicsContext3D::stencilMaskSeparate):
31396        (WebCore::GraphicsContext3D::stencilOp):
31397        (WebCore::GraphicsContext3D::stencilOpSeparate):
31398        (WebCore::GraphicsContext3D::texParameterf):
31399        (WebCore::GraphicsContext3D::texParameteri):
31400        (WebCore::GraphicsContext3D::uniform1f):
31401        (WebCore::GraphicsContext3D::uniform1fv):
31402        (WebCore::GraphicsContext3D::uniform2f):
31403        (WebCore::GraphicsContext3D::uniform2fv):
31404        (WebCore::GraphicsContext3D::uniform3f):
31405        (WebCore::GraphicsContext3D::uniform3fv):
31406        (WebCore::GraphicsContext3D::uniform4f):
31407        (WebCore::GraphicsContext3D::uniform4fv):
31408        (WebCore::GraphicsContext3D::uniform1i):
31409        (WebCore::GraphicsContext3D::uniform1iv):
31410        (WebCore::GraphicsContext3D::uniform2i):
31411        (WebCore::GraphicsContext3D::uniform2iv):
31412        (WebCore::GraphicsContext3D::uniform3i):
31413        (WebCore::GraphicsContext3D::uniform3iv):
31414        (WebCore::GraphicsContext3D::uniform4i):
31415        (WebCore::GraphicsContext3D::uniform4iv):
31416        (WebCore::GraphicsContext3D::uniformMatrix2fv):
31417        (WebCore::GraphicsContext3D::uniformMatrix3fv):
31418        (WebCore::GraphicsContext3D::uniformMatrix4fv):
31419        (WebCore::GraphicsContext3D::useProgram):
31420        (WebCore::GraphicsContext3D::validateProgram):
31421        (WebCore::GraphicsContext3D::vertexAttrib1f):
31422        (WebCore::GraphicsContext3D::vertexAttrib1fv):
31423        (WebCore::GraphicsContext3D::vertexAttrib2f):
31424        (WebCore::GraphicsContext3D::vertexAttrib2fv):
31425        (WebCore::GraphicsContext3D::vertexAttrib3f):
31426        (WebCore::GraphicsContext3D::vertexAttrib3fv):
31427        (WebCore::GraphicsContext3D::vertexAttrib4f):
31428        (WebCore::GraphicsContext3D::vertexAttrib4fv):
31429        (WebCore::GraphicsContext3D::vertexAttribPointer):
31430        (WebCore::GraphicsContext3D::viewport):
31431        (WebCore::GraphicsContext3D::getBooleanv):
31432        (WebCore::GraphicsContext3D::getBufferParameteriv):
31433        (WebCore::GraphicsContext3D::getFloatv):
31434        (WebCore::GraphicsContext3D::getFramebufferAttachmentParameteriv):
31435        (WebCore::GraphicsContext3D::getIntegerv):
31436        (WebCore::GraphicsContext3D::getProgramiv):
31437        (WebCore::GraphicsContext3D::getProgramInfoLog):
31438        (WebCore::GraphicsContext3D::getRenderbufferParameteriv):
31439        (WebCore::GraphicsContext3D::getShaderiv):
31440        (WebCore::GraphicsContext3D::getShaderInfoLog):
31441        (WebCore::GraphicsContext3D::getShaderSource):
31442        (WebCore::GraphicsContext3D::getTexParameterfv):
31443        (WebCore::GraphicsContext3D::getTexParameteriv):
31444        (WebCore::GraphicsContext3D::getUniformfv):
31445        (WebCore::GraphicsContext3D::getUniformiv):
31446        (WebCore::GraphicsContext3D::getUniformLocation):
31447        (WebCore::GraphicsContext3D::getVertexAttribfv):
31448        (WebCore::GraphicsContext3D::getVertexAttribiv):
31449        (WebCore::GraphicsContext3D::getVertexAttribOffset):
31450        (WebCore::GraphicsContext3D::texImage2D):
31451        (WebCore::GraphicsContext3D::texSubImage2D):
31452        (WebCore::GraphicsContext3D::createBuffer):
31453        (WebCore::GraphicsContext3D::createFramebuffer):
31454        (WebCore::GraphicsContext3D::createProgram):
31455        (WebCore::GraphicsContext3D::createRenderbuffer):
31456        (WebCore::GraphicsContext3D::createShader):
31457        (WebCore::GraphicsContext3D::createTexture):
31458        (WebCore::GraphicsContext3D::deleteBuffer):
31459        (WebCore::GraphicsContext3D::deleteFramebuffer):
31460        (WebCore::GraphicsContext3D::deleteProgram):
31461        (WebCore::GraphicsContext3D::deleteRenderbuffer):
31462        (WebCore::GraphicsContext3D::deleteShader):
31463        (WebCore::GraphicsContext3D::deleteTexture):
31464        (WebCore::GraphicsContext3D::sizeInBytes):
31465        (WebCore::GraphicsContext3D::synthesizeGLError):
31466        (WebCore::GraphicsContext3D::getImageData):
31467        * platform/graphics/skia/GraphicsContext3DSkia.cpp:
31468        (WebCore::GraphicsContext3D::getImageData):
31469
314702011-01-06  Martin Robinson  <mrobinson@igalia.com>
31471
31472        Reviewed by Eric Seidel.
31473
31474        [GTK] Initial build support for WebGL
31475        https://bugs.webkit.org/show_bug.cgi?id=51716
31476
31477        Add initial build support for WebGL and insert bits of implementation
31478        necessary for clean compilation into GraphicsContext3D.
31479
31480        No new tests. This is just a build change.
31481
31482        * GNUmakefile.am: Add missing files to the source lists.
31483        * platform/graphics/GraphicsContext3D.h: Include IntSize.h as it's used below.
31484        Include typedefs necessary for WebGL on GTK+ and consolidate typdefs which are the
31485        same across different platforms. X11 headers define the VERSION symbol, so it's
31486        necessary to undefine it, since it's used as an enum value.
31487
314882011-01-06  Helder Correia  <helder@sencha.com>
31489
31490        Reviewed by Kenneth Rohde Christiansen.
31491
31492        [Qt] GraphicsContext::drawConvexPolygon() has unnecessary code for shadow
31493        https://bugs.webkit.org/show_bug.cgi?id=52014
31494
31495        The function is only used by RenderObject to draw box sides.
31496        The shadow branch is never used and thus can be removed.
31497
31498        No new tests are necessary.
31499
31500        * platform/graphics/qt/GraphicsContextQt.cpp:
31501        (WebCore::GraphicsContext::drawConvexPolygon):
31502
315032011-01-06  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
31504
31505        Reviewed by Kenneth Rohde Christiansen.
31506
31507        [Qt] Make sure touch is disabled in the minimal configuration
31508        https://bugs.webkit.org/show_bug.cgi?id=51316
31509
31510        No new tests as there is no new functionality.
31511
31512        * features.pri:
31513
315142011-01-06  Martin Robinson  <mrobinson@igalia.com>
31515
31516        Reviewed by Eric Seidel.
31517
31518        [GTK] Freetype backend does not support WOFF
31519        https://bugs.webkit.org/show_bug.cgi?id=51904
31520
31521        * CMakeListsEfl.txt: Add WOFF support to the sources list.
31522        * GNUmakefile.am: Add WOFF support to the sources list.
31523        * platform/graphics/freetype/FontCustomPlatformDataFreeType.cpp:
31524        (WebCore::createFontCustomPlatformData): Call the WOFF decoder when appropriate.
31525        (WebCore::FontCustomPlatformData::supportsFormat): Advertise support for WOFF.
31526
315272011-01-06  James Simonsen  <simonjam@chromium.org>
31528
31529        Reviewed by Darin Fisher.
31530
31531        [Web Timing] Remove vendor prefix
31532        https://bugs.webkit.org/show_bug.cgi?id=48922
31533
31534        * page/DOMWindow.cpp:
31535        (WebCore::DOMWindow::performance): Rename to performance.
31536        * page/DOMWindow.h:
31537        * page/DOMWindow.idl: Rename to performance and make replaceable.
31538
315392011-01-06  Chris Marrin  <cmarrin@apple.com>
31540
31541        Reviewed by Simon Fraser.
31542
31543        Share code between Mac (CA) and Windows (CACF) GraphicsLayer implementations
31544        https://bugs.webkit.org/show_bug.cgi?id=49388
31545
31546        Changed PlatformCALayer API. Added PlatformCALayerClient abstract class which is
31547        used to communicate from PlatformCALayer to the owner. This replaces passing
31548        GraphicsLayerCA pointer when creating PlatformCALayer. It also includes the
31549        API that used to be in PlatformCALayerLayout. GraphicsLayerCA now implements
31550        the PlatformCALayerClient API.
31551
31552        This change has little impact on the Mac side but makes the Windows
31553        interface simpler, especially when handling video layers on Windows.
31554
31555        * WebCore.xcodeproj/project.pbxproj:
31556        * config.h:
31557        * platform/graphics/GraphicsLayer.h:
31558        (WebCore::GraphicsLayer::layerDidDisplay):
31559        (WebCore::GraphicsLayer::showDebugBorders):
31560        (WebCore::GraphicsLayer::showRepaintCounter):
31561        * platform/graphics/ca/GraphicsLayerCA.cpp:
31562        (WebCore::GraphicsLayerCA::platformCALayerAnimationStarted):
31563        (WebCore::GraphicsLayerCA::setContentsToImage):
31564        (WebCore::GraphicsLayerCA::setContentsToMedia):
31565        (WebCore::GraphicsLayerCA::layerDidDisplay):
31566        (WebCore::GraphicsLayerCA::updateSublayerList):
31567        * platform/graphics/ca/GraphicsLayerCA.h:
31568        (WebCore::GraphicsLayerCA::platformCALayerLayoutSublayersOfLayer):
31569        (WebCore::GraphicsLayerCA::platformCALayerRespondsToLayoutChanges):
31570        (WebCore::GraphicsLayerCA::platformCALayerContentsOrientation):
31571        (WebCore::GraphicsLayerCA::platformCALayerPaintContents):
31572        (WebCore::GraphicsLayerCA::platformCALayerShowDebugBorders):
31573        (WebCore::GraphicsLayerCA::platformCALayerShowRepaintCounter):
31574        (WebCore::GraphicsLayerCA::platformCALayerIncrementRepaintCount):
31575        (WebCore::GraphicsLayerCA::platformCALayerContentsOpaque):
31576        (WebCore::GraphicsLayerCA::platformCALayerDrawsContent):
31577        (WebCore::GraphicsLayerCA::platformCALayerLayerDidDisplay):
31578        (WebCore::GraphicsLayerCA::platformCALayer):
31579        * platform/graphics/ca/PlatformCALayer.h:
31580        (WebCore::PlatformCALayer::owner):
31581        (WebCore::PlatformCALayer::animationStarted):
31582        * platform/graphics/ca/PlatformCALayerClient.h: Added.
31583        (WebCore::PlatformCALayerClient::~PlatformCALayerClient):
31584        * platform/graphics/ca/mac/PlatformCALayerMac.mm:
31585        (PlatformCALayer::setOwner):
31586        (PlatformCALayer::create):
31587        (PlatformCALayer::PlatformCALayer):
31588        (PlatformCALayer::contents):
31589        (PlatformCALayer::setContents):
31590        * platform/graphics/mac/WebGLLayer.mm:
31591        (-[WebGLLayer display]):
31592        * platform/graphics/mac/WebLayer.h:
31593        * platform/graphics/mac/WebLayer.mm:
31594        (drawLayerContents):
31595        (setLayerNeedsDisplayInRect):
31596        (-[WebLayer setNeedsDisplay]):
31597        (-[WebLayer display]):
31598        * platform/graphics/mac/WebTiledLayer.mm:
31599        (-[WebTiledLayer setNeedsDisplay]):
31600        (-[WebTiledLayer display]):
31601        * rendering/RenderLayerBacking.cpp:
31602        (WebCore::RenderLayerBacking::showDebugBorders):
31603        (WebCore::RenderLayerBacking::showRepaintCounter):
31604        * rendering/RenderLayerCompositor.cpp:
31605        (WebCore::RenderLayerCompositor::ensureRootPlatformLayer):
31606        * rendering/RenderLayerCompositor.h:
31607        (WebCore::RenderLayerCompositor::compositorShowDebugBorders):
31608        (WebCore::RenderLayerCompositor::compositorShowRepaintCounter):
31609        (WebCore::RenderLayerCompositor::notifyAnimationStarted):
31610        (WebCore::RenderLayerCompositor::notifySyncRequired):
31611        (WebCore::RenderLayerCompositor::paintContents):
31612        (WebCore::RenderLayerCompositor::showDebugBorders):
31613        (WebCore::RenderLayerCompositor::showRepaintCounter):
31614
316152011-01-06  Tony Gentilcore  <tonyg@chromium.org>
31616
31617        Reviewed by Eric Seidel.
31618
31619        Allow framesets after hidden inputs
31620        https://bugs.webkit.org/show_bug.cgi?id=51998
31621
31622        This implements the HTML5 spec update in response to:
31623        http://www.w3.org/Bugs/Public/show_bug.cgi?id=11156
31624
31625        * html/parser/HTMLTreeBuilder.cpp:
31626        (WebCore::HTMLTreeBuilder::processStartTagForInBody):
31627
316282010-12-29  Zhenyao Mo  <zmo@google.com>
31629
31630        Reviewed by Kenneth Russell.
31631
31632        vertexAttribPointer should raise INVALID_OPERATION if stride/offset is not multiple of the type size
31633        https://bugs.webkit.org/show_bug.cgi?id=51725
31634
31635        * html/canvas/WebGLRenderingContext.cpp:
31636        (WebCore::WebGLRenderingContext::vertexAttribPointer):
31637
316382011-01-06  Patrick Gansterer  <paroga@webkit.org>
31639
31640        Reviewed by Eric Seidel.
31641
31642        [WINCE] Remove JSC::g_stackBase
31643        https://bugs.webkit.org/show_bug.cgi?id=51779
31644
31645        * platform/wince/SharedTimerWinCE.cpp:
31646        (WebCore::TimerWindowWndProc):
31647
316482011-01-06  Robert Hogan  <robert@webkit.org>
31649
31650        Reviewed by Antonio Gomes.
31651
31652        [Qt] Introduce QDRTNode for passing WebCore::Node across JS bridge
31653
31654        This allows LayoutTestController to pass WebCore::Node back to
31655        layout tests.
31656
31657        Also amend nodesFromRect-links-and-text.html and
31658        nodesFromRect-inner-documents.html so that they do not produce
31659        platform-specific results.
31660
31661        Unskip:
31662        fast/dom/nodesFromRect-links-and-text.html
31663        fast/dom/nodesFromRect-inner-documents.html
31664
31665        https://bugs.webkit.org/show_bug.cgi?id=48957
31666
31667        * bridge/qt/qt_runtime.cpp:
31668        (JSC::Bindings::QtDRTNodeRuntime::create):
31669        (JSC::Bindings::QtDRTNodeRuntime::get):
31670        (JSC::Bindings::convertValueToQVariant):
31671        (JSC::Bindings::convertQVariantToValue):
31672
316732011-01-06  Joone Hur  <joone.hur@collabora.co.uk>
31674
31675        Reviewed by Eric Seidel.
31676
31677        WML Parser should treat line/column number in a consistent way
31678        https://bugs.webkit.org/show_bug.cgi?id=51601
31679
31680        XML Parser treats line/column number as 1-based values, but WML ErrorHandler treat them as 0-based.
31681        Therefore, this patch allows WML ErrorHandler to use 1-based values.
31682
31683        * dom/XMLDocumentParser.cpp:
31684        (WebCore::XMLDocumentParser::handleError): Treat line/column number as 1 based values.
31685        * dom/XMLDocumentParser.h: Make textPositionOneBased public and Add TextPosition1(m_lastErrorPosition) to keep error line/column number.
31686        * dom/XMLDocumentParserLibxml2.cpp:
31687        (WebCore::XMLDocumentParser::XMLDocumentParser): Initialize m_lastErrorPosition. 
31688        * dom/XMLDocumentParserQt.cpp:
31689        (WebCore::XMLDocumentParser::XMLDocumentParser): Initialize m_lastErrorPosition. 
31690        * wml/WMLErrorHandling.cpp:
31691        (WebCore::reportWMLError): Use 1 based value instead of 0 based value to report error line/column number.
31692
316932011-01-05  Adam Roben  <aroben@apple.com>
31694
31695        Remove some dead code from WKCACFLayerRenderer
31696
31697        Fixes <http://webkit.org/b/51954> WKCACFLayerRenderer has dead and
31698        redundant code for reacting to changes to the layer tree
31699
31700        Reviewed by Sam Weinig.
31701
31702        * platform/graphics/win/WKCACFLayerRenderer.cpp:
31703        * platform/graphics/win/WKCACFLayerRenderer.h:
31704        Removed didFlushContext and the HashMap it depended on. We react to
31705        changes to the layer tree in layerTreeDidChange instead.
31706
317072011-01-06  Chris Fleizach  <cfleizach@apple.com>
31708
31709        Reviewed by Beth Dakin.
31710
31711        AX: "AXExpanded" not exposed on most ARIA roles that use aria-expanded
31712        https://bugs.webkit.org/show_bug.cgi?id=51995
31713
31714        Test: platform/mac/accessibility/aria-expanded-standard-items.html
31715
31716        * accessibility/AccessibilityObject.cpp:
31717        (WebCore::AccessibilityObject::supportsARIAExpanded):
31718        (WebCore::AccessibilityObject::isExpanded):
31719        * accessibility/AccessibilityObject.h:
31720        * accessibility/AccessibilityRenderObject.cpp:
31721        (WebCore::AccessibilityRenderObject::isVisited):
31722        * accessibility/AccessibilityRenderObject.h:
31723        * accessibility/mac/AccessibilityObjectWrapper.mm:
31724        (-[AccessibilityObjectWrapper additionalAccessibilityAttributeNames]):
31725
317262010-12-28  Zhenyao Mo  <zmo@google.com>
31727
31728        Reviewed by Kenneth Russell.
31729
31730        Must generate INVALID_VALUE errors for strings containing out-of-range characters
31731        https://bugs.webkit.org/show_bug.cgi?id=50929
31732
31733        * html/canvas/WebGLRenderingContext.cpp: Validate characters according to GLSL ES 1.0 spec section 3.1.
31734        (WebCore::WebGLRenderingContext::bindAttribLocation):
31735        (WebCore::WebGLRenderingContext::getAttribLocation):
31736        (WebCore::WebGLRenderingContext::getUniformLocation):
31737        (WebCore::WebGLRenderingContext::shaderSource):
31738        (WebCore::WebGLRenderingContext::validateString): Helper function to perform the character validation.
31739        * html/canvas/WebGLRenderingContext.h: Declare validateString().
31740
317412011-01-06  Yong Li  <yoli@rim.com>
31742
31743        Reviewed by Adam Barth.
31744        Add the test case that is missed in r75066.
31745        https://bugs.webkit.org/show_bug.cgi?id=48077
31746
31747        Test case: WebCore/manual-tests/bugzilla-48077.html.
31748
317492011-01-06  James Robinson  <jamesr@chromium.org>
31750
31751        Reviewed by Simon Fraser.
31752
31753        Implement mozilla's animationTime property
31754        https://bugs.webkit.org/show_bug.cgi?id=51952
31755
31756        Implements mozilla's animationTime property as described here:
31757        https://developer.mozilla.org/en/DOM/window.mozAnimationStartTime
31758        and http://hacks.mozilla.org/2010/08/more-efficient-javascript-animations-with-mozrequestanimationframe/
31759        The property is called webkitAnimationTime as calling it the 'Start' time is not very informative.
31760        This property exposes a notion of a 'current' time to use for declarative animations and allows
31761        scripts to synchronize imperative animations with declarative ones if they choose to.  Once queried
31762        this time is saved and used for all declarative animation updates until the embedder paints/composites
31763        the next frame and clears it, or 15ms elapse (in case the embedder isn't producing frames, for example
31764        if the page is in a background tab).
31765
31766        This patch also ensures that all declarative animations started in the same script execution block
31767        are synchronized even if some time elapses while script is running.
31768
31769        Test: fast/animation/animation-time.html
31770
31771        * WebCore.gypi:
31772        * page/DOMWindow.cpp:
31773        (WebCore::DOMWindow::webkitAnimationTime):
31774        * page/DOMWindow.h:
31775        * page/DOMWindow.idl:
31776        * page/Frame.cpp:
31777        (WebCore::Frame::currentAnimationTime):
31778        * page/Frame.h:
31779        * page/Page.cpp:
31780        (WebCore::Page::Page):
31781        * page/Page.h:
31782        (WebCore::Page::animationTime):
31783        * page/animation/AnimationController.cpp:
31784        (WebCore::AnimationControllerPrivate::beginAnimationUpdateTime):
31785        * page/animation/AnimationTimeController.cpp: Added.
31786        (WebCore::AnimationTimeController::AnimationTimeController):
31787        (WebCore::AnimationTimeController::~AnimationTimeController):
31788        (WebCore::AnimationTimeController::currentAnimationTime):
31789        (WebCore::AnimationTimeController::clearCurrentAnimationTime):
31790        (WebCore::AnimationTimeController::clearCurrentAnimationTimeTimerFired):
31791        * page/animation/AnimationTimeController.h: Added.
31792        (WebCore::AnimationTimeController::create):
31793
317942011-01-06  Abhishek Arya  <inferno@chromium.org>
31795
31796        Reviewed by Simon Fraser.
31797
31798        Null out the parent stylesheet pointer when a css rule is removed.
31799        https://bugs.webkit.org/show_bug.cgi?id=51993
31800
31801        Tests: fast/dom/StyleSheet/removed-media-rule-deleted-parent-crash.html
31802               fast/dom/StyleSheet/removed-stylesheet-rule-deleted-parent-crash.html
31803
31804        * css/CSSRuleList.cpp:
31805        (WebCore::CSSRuleList::deleteRule):
31806        * css/CSSStyleSheet.cpp:
31807        (WebCore::CSSStyleSheet::deleteRule):
31808
318092011-01-04  Adrienne Walker  <enne@google.com>
31810
31811        Reviewed by Kenneth Russell.
31812
31813        NaN in a TypedArray should be converted to zero only for Float32Array.
31814        https://bugs.webkit.org/show_bug.cgi?id=46990
31815
31816        Test: LayoutTests/fast/canvas/webgl/array-unit-tests.html
31817
31818        * bindings/js/JSArrayBufferViewHelper.h:
31819        (WebCore::convertArrayValue):
31820        (WebCore::constructArrayBufferView):
31821        * html/canvas/Float32Array.h:
31822        (WebCore::Float32Array::set):
31823        (WebCore::Float32Array::item):
31824
318252011-01-06  Patrick Gansterer  <paroga@webkit.org>
31826
31827        Unreviewed Windows build fix for r75161.
31828
31829        * platform/graphics/cg/GraphicsContextCG.cpp: Missing include added.
31830
318312011-01-06  Patrick Gansterer  <paroga@webkit.org>
31832
31833        Unreviewed WinCE build fix for r75139.
31834
31835        Try to remove include after adding forward-declaration in r75145.
31836
31837        * platform/graphics/Gradient.h:
31838
318392011-01-06  Renata Hodovan  <reni@webkit.org>
31840
31841        Reviewed by Andreas Kling.
31842
31843        https://bugs.webkit.org/show_bug.cgi?id=51811
31844        Merge m_height and m_width members of ImageData into the new m_size member.
31845
31846        Image (BitmapImage, ImageSource) types in WebKit use IntSize to store their
31847        width and height argument, except ImageData. This patch refactors ImageData
31848        to follow the style of other Image types in WebKit.
31849        Using of PassRefPtrs other than argument passing is not allowed in WebKit anymore.
31850        This patch also refactors the PassRefPtr usages of ImageData.
31851
31852        It's just a refactoring, so we don't need any new tests.
31853
31854        * bindings/js/SerializedScriptValue.cpp:
31855        (WebCore::CloneSerializer::write):
31856        (WebCore::CloneDeserializer::readTerminal):
31857        * bindings/v8/SerializedScriptValue.cpp:
31858        (WebCore::ZigZag::Reader::readImageData):
31859        * html/ImageData.cpp:
31860        (WebCore::ImageData::create):
31861        (WebCore::ImageData::ImageData):
31862        * html/ImageData.h:
31863        (WebCore::ImageData::size):
31864        (WebCore::ImageData::width):
31865        (WebCore::ImageData::height):
31866        * html/canvas/CanvasRenderingContext2D.cpp:
31867        (WebCore::createEmptyImageData):
31868        (WebCore::CanvasRenderingContext2D::createImageData):
31869        (WebCore::CanvasRenderingContext2D::getImageData):
31870        * html/canvas/CanvasRenderingContext2D.h:
31871        * platform/graphics/haiku/ImageBufferHaiku.cpp:
31872        (WebCore::getImageData):
31873
318742011-01-06  Yael Aharon  <yael.aharon@nokia.com>
31875
31876        Reviewed by Darin Adler.
31877
31878        document.querySelector(':nth-child(foo)') should throw a syntax error
31879        https://bugs.webkit.org/show_bug.cgi?id=51231
31880
31881        Also fixes 
31882        CSSNthSelector parsing code is illegible and buggy (allows "n3" as a valid selector)
31883        https://bugs.webkit.org/show_bug.cgi?id=21815
31884
31885        Add a check in the parser that other than an+b, only "odd" or "even" would be allowed
31886        as parameters to nth selector.
31887
31888        Tests: fast/css/css3-nth-tokens-script.html
31889               fast/css/css3-nth-tokens-style.html
31890
31891        * css/CSSGrammar.y:
31892        * css/CSSParser.cpp:
31893        (WebCore::isValidNthToken):
31894        * css/CSSParser.h:
31895
318962011-01-06  Jan Erik Hanssen  <jhanssen@sencha.com>
31897
31898        Reviewed by Andreas Kling.
31899
31900        [Qt] crash in QNetworkReplyHandler::sendResponseIfNeeded()
31901        https://bugs.webkit.org/show_bug.cgi?id=51453
31902
31903        Check if m_reply is NULL before accessing.
31904
31905        * manual-tests/load-deferrer-resume-crash.html: Added.
31906        * platform/network/qt/QNetworkReplyHandler.cpp:
31907        (WebCore::QNetworkReplyHandler::setLoadMode):
31908        (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
31909
319102011-01-06  Andras Becsi  <abecsi@webkit.org>
31911
31912        Reviewed by Csaba Osztrogonác.
31913
31914        [Qt][V8] Fix the build when DEVICE_ORIENTATION is enabled.
31915
31916        No new tests needed.
31917
31918        * WebCore.pro: remove duplications and globally add RuntimeEnabledFeatures.
31919
319202011-01-06  Helder Correia  <helder@sencha.com>
31921
31922        Reviewed by Kenneth Rohde Christiansen.
31923
31924        [Qt][GTK] Use GraphicsContext::hasShadow() in port-specific code
31925        https://bugs.webkit.org/show_bug.cgi?id=51985
31926
31927        r75139 introduced GraphicsContext::hasShadow(). This can now simplify
31928        and unify some code in the Qt and GTK ports.
31929
31930        No new tests necessary for this refactoring.
31931
31932        * platform/graphics/cairo/GraphicsContextCairo.cpp:
31933        (WebCore::GraphicsContext::fillRect):
31934        (WebCore::GraphicsContext::fillRoundedRect):
31935        * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
31936        * platform/graphics/qt/GraphicsContextQt.cpp:
31937        (WebCore::GraphicsContext::drawConvexPolygon):
31938        (WebCore::GraphicsContext::fillPath):
31939        (WebCore::GraphicsContext::strokePath):
31940        (WebCore::GraphicsContext::fillRect):
31941        (WebCore::GraphicsContext::fillRoundedRect):
31942
319432011-01-05  Darin Adler  <darin@apple.com>
31944
31945        Fix Chromium Mac build.
31946
31947        * platform/graphics/Gradient.h: Forward-declare CGContextRef.
31948        This might even make it possible to remove the include of
31949        <CoreGraphics/CoreGraphics.h> for PLATFORM(WIN), but I did not
31950        do that at this time because I don't want to break the Windows
31951        build when fixing the Chromium build.
31952
319532011-01-05  Xianzhu Wang  <wangxianzhu@google.com>
31954
31955        Reviewed by David Levin.
31956
31957        Implement RemoteFontStream's skip behavior (in FontCustomPlatformData.cpp)
31958        https://bugs.webkit.org/show_bug.cgi?id=51736
31959
31960        No new tests. This change has potential effect on @font-face CSS feature
31961        on ports using Skia. Tested on Chromium that this change won't break
31962        fast/css/font-face-remote.html. This change can make the test pass on
31963        other ports using Skia.
31964
31965        * platform/graphics/skia/FontCustomPlatformData.cpp:
31966        (WebCore::RemoteFontStream::read):
31967
319682011-01-05  Helder Correia  <helder@sencha.com>
31969
31970        Reviewed by Simon Fraser.
31971
31972        Shadows are not drawn when filling a rect with a gradient fillStyle on Mac and Chromium-Mac
31973        https://bugs.webkit.org/show_bug.cgi?id=51869
31974
31975        GraphicsContext::fillRect(const FloatRect&) is clipping to the rect.
31976        The shadow is being drawn, but getting clipped to the rect being filled.
31977        The solution is to draw the gradient into a CGLayer (when a shadow is
31978        required), then render the layer to the GraphicsContext.
31979
31980        This patch also fixes:
31981        canvas/philip/tests/2d.shadow.gradient.alpha.html
31982        canvas/philip/tests/2d.shadow.gradient.basic.html
31983        canvas/philip/tests/2d.shadow.gradient.transparent.2.html
31984
31985        Test: fast/canvas/canvas-fillRect-gradient-shadow.html
31986
31987        * platform/graphics/Gradient.h:
31988        * platform/graphics/cg/GradientCG.cpp:
31989        (WebCore::Gradient::paint):
31990        * platform/graphics/cg/GraphicsContextCG.cpp:
31991        (WebCore::GraphicsContext::fillRect):
31992
319932011-01-05  Steve Falkenburg  <sfalken@apple.com>
31994
31995        Reviewed by Darin Adler.
31996
31997        Debug and Release builds on Windows clobber each other
31998        https://bugs.webkit.org/show_bug.cgi?id=49185
31999
32000        Changes the structure of WebKitBuild build products directory so we
32001        completely separate each build configuration into independent directories.
32002        
32003        Although we previously had per-configuration directories for obj, this change adds
32004        per-configuration directories for bin, lib, obj, and include. Each configuration's
32005        build products are stored within a directory inside of WebKitBuild.
32006        
32007        Most use of $(WebKitOutputDir) in the build files has been replaced by $(ConfigurationBuildDir),
32008        defined in common.vsprops to be $(WebKitOutputDir)\$(ConfigurationName).
32009
32010        * WebCore.vcproj/QTMovieWinCommon.vsprops:
32011        * WebCore.vcproj/QTMovieWinPostBuild.cmd:
32012        * WebCore.vcproj/QTMovieWinPreBuild.cmd:
32013        * WebCore.vcproj/WebCore.make:
32014        * WebCore.vcproj/WebCore.vcproj:
32015        * WebCore.vcproj/WebCoreCommon.vsprops:
32016        * WebCore.vcproj/WebCoreGeneratedCairo.vsprops:
32017        * WebCore.vcproj/WebCoreGeneratedCommon.vsprops:
32018        * WebCore.vcproj/WebCoreMediaQT.vsprops:
32019        * WebCore.vcproj/WebCorePostBuild.cmd:
32020        * WebCore.vcproj/WebCorePreBuild.cmd:
32021        * WebCore.vcproj/copyForwardingHeaders.cmd:
32022        * WebCore.vcproj/copyInspectorFiles.cmd:
32023
320242011-01-05  Simon Fraser  <simon.fraser@apple.com>
32025
32026        Reviewed by Ariya Hidayat.
32027
32028        Directly composited SVG images fail to render
32029        https://bugs.webkit.org/show_bug.cgi?id=51975
32030        
32031        There was already code, added in r67900, to detect whether an image
32032        may be directly composited, by checking to see if it's a bitmap image.
32033        
32034        However, CachedImage::image() returns the nullImage() if m_image is null,
32035        which is a BitmapImage, confusing this test.
32036
32037        Test: compositing/images/direct-svg-image.html
32038
32039        * loader/cache/CachedImage.cpp: Remove nullImage(), since Image has
32040        exactly the same method.
32041        (WebCore::CachedImage::image): Use Image::nullImage().
32042        * loader/cache/CachedImage.h:
32043        (WebCore::CachedImage::hasImage): New method to ask whether the m_image is
32044        non-null.
32045        * rendering/RenderLayerBacking.cpp:
32046        (WebCore::RenderLayerBacking::isDirectlyCompositedImage): Use hasImage()
32047        so that we don't test the nullImage.
32048
320492011-01-05  Simon Fraser  <simon.fraser@apple.com>
32050
32051        Reviewed by Darin Adler.
32052
32053        Fix percentage values in radius of radial gradients
32054        https://bugs.webkit.org/show_bug.cgi?id=51979
32055        
32056        Handle percentage values for the ending size of radial gradients.
32057
32058        Test: fast/gradients/css3-radial-gradients3.html
32059
32060        * css/CSSGradientValue.cpp:
32061        (WebCore::CSSRadialGradientValue::resolveRadius): Add parameter for height or width, which is
32062        non-null if percentage values are allowed, and compute percentage values when we see them.
32063        (WebCore::CSSRadialGradientValue::createGradient): Pass height or width down to say that
32064        percentages are OK when resolving end radii.
32065        * css/CSSGradientValue.h: New parameter for resolveRadius.
32066
320672011-01-05  James Simonsen  <simonjam@chromium.org>
32068
32069        Reviewed by Adam Barth.
32070
32071        [Web Timing] Zero out some values on cross-origin redirects
32072        https://bugs.webkit.org/show_bug.cgi?id=49294
32073
32074        Tests: http/tests/misc/webtiming-cross-origin-redirect.php
32075               http/tests/misc/webtiming-origins.html
32076
32077        * loader/DocumentLoadTiming.h:
32078        (WebCore::DocumentLoadTiming::DocumentLoadTiming): Add flags for cross-origin redirects and same-origin navigation.
32079        * loader/FrameLoader.cpp:
32080        (WebCore::FrameLoader::~FrameLoader):
32081        (WebCore::FrameLoader::stopLoading): Don't overwrite previous unload times.
32082        (WebCore::FrameLoader::completed):
32083        (WebCore::FrameLoader::loadWithDocumentLoader): Remember previous URL to see if navigation is same-origin.
32084        (WebCore::FrameLoader::commitProvisionalLoad): Set flag if navigation is same-origin.
32085        * loader/FrameLoader.h:
32086        * loader/MainResourceLoader.cpp:
32087        (WebCore::MainResourceLoader::willSendRequest): Set flag on cross-origin redirects.
32088        * page/PerformanceNavigation.cpp:
32089        (WebCore::PerformanceNavigation::redirectCount): Clear if cross-origin redirect flag is set.
32090        * page/PerformanceTiming.cpp:
32091        (WebCore::PerformanceTiming::redirectStart): Ditto.
32092        (WebCore::PerformanceTiming::redirectEnd): Ditto.
32093        (WebCore::PerformanceTiming::unloadEventStart): Clear if cross-origin navigation is set.
32094        (WebCore::PerformanceTiming::unloadEventEnd): Ditto.
32095
320962011-01-05  Helder Correia  <helder@sencha.com>
32097
32098        Reviewed by Ariya Hidayat.
32099
32100        [Qt] Default focus ring is too wide
32101        https://bugs.webkit.org/show_bug.cgi?id=51854
32102
32103        This is an intermediate step to solve this bug. Use QPalette::Highlight
32104        instead of default half-transparent black as the focus ring color.
32105
32106        * platform/graphics/qt/GraphicsContextQt.cpp:
32107        (WebCore::drawFocusRingForPath):
32108        * platform/qt/RenderThemeQt.cpp:
32109        (WebCore::RenderThemeQt::platformFocusRingColor):
32110        * platform/qt/RenderThemeQt.h:
32111
321122011-01-05  James Simonsen  <simonjam@chromium.org>
32113
32114        Reviewed by Darin Fisher.
32115
32116        [Web Timing] requestStart and responseStart should be available even if the document is still loading
32117        https://bugs.webkit.org/show_bug.cgi?id=51368
32118
32119        Test: http/tests/misc/webtiming-slow-load.php
32120
32121        * page/PerformanceTiming.cpp:
32122        (WebCore::getPossiblySkewedTimeInKnownRange): Handle case where response is not yet complete.
32123        (WebCore::PerformanceTiming::resourceLoadTimeRelativeToAbsolute): Use full upper bound.
32124
321252011-01-05  Chris Rogers  <crogers@google.com>
32126
32127        Reviewed by Darin Fisher.
32128
32129        Add WebKitClient::createAudioDevice() for Chromium port of web audio API
32130        https://bugs.webkit.org/show_bug.cgi?id=51424
32131
32132        No new tests since audio API is not yet implemented.
32133
32134        * WebCore.gyp/WebCore.gyp:
32135        * WebCore.gypi:
32136
321372011-01-05  Anders Carlsson  <andersca@apple.com>
32138
32139        Try again.
32140
32141        * WebCore.exp.in:
32142
321432011-01-05  Anders Carlsson  <andersca@apple.com>
32144
32145        Attempt to fix Leopard build.
32146
32147        * WebCore.exp.in:
32148
321492011-01-05  Evan Martin  <evan@chromium.org>
32150
32151        Reviewed by Tony Chang.
32152
32153        [chromium] refactor complex text on Linux
32154        https://bugs.webkit.org/show_bug.cgi?id=51956
32155
32156        Pull out TextRunWalker from FontLinux.cpp.  Put it in its own file.
32157        Rename it to ComplexTextController, to match platform/graphics/mac
32158        more closely.
32159
32160        No tests because the change is just renaming a class.
32161
32162        * WebCore.gyp/WebCore.gyp:
32163        * platform/graphics/chromium/ComplexTextControllerLinux.cpp: Added.
32164        (WebCore::ComplexTextController::ComplexTextController):
32165        (WebCore::ComplexTextController::~ComplexTextController):
32166        (WebCore::ComplexTextController::isWordBreak):
32167        (WebCore::ComplexTextController::determineWordBreakSpacing):
32168        (WebCore::ComplexTextController::setPadding):
32169        (WebCore::ComplexTextController::reset):
32170        (WebCore::ComplexTextController::setBackwardsIteration):
32171        (WebCore::ComplexTextController::nextScriptRun):
32172        (WebCore::ComplexTextController::widthOfFullRun):
32173        (WebCore::ComplexTextController::setupFontForScriptRun):
32174        (WebCore::ComplexTextController::allocHarfbuzzFont):
32175        (WebCore::ComplexTextController::deleteGlyphArrays):
32176        (WebCore::ComplexTextController::createGlyphArrays):
32177        (WebCore::ComplexTextController::resetGlyphArrays):
32178        (WebCore::ComplexTextController::shapeGlyphs):
32179        (WebCore::ComplexTextController::setGlyphXPositions):
32180        (WebCore::ComplexTextController::normalizeSpacesAndMirrorChars):
32181        (WebCore::ComplexTextController::getNormalizedTextRun):
32182        * platform/graphics/chromium/ComplexTextControllerLinux.h: Added.
32183        (WebCore::ComplexTextController::setWordSpacingAdjustment):
32184        (WebCore::ComplexTextController::setLetterSpacingAdjustment):
32185        (WebCore::ComplexTextController::letterSpacing):
32186        (WebCore::ComplexTextController::setXOffsetToZero):
32187        (WebCore::ComplexTextController::rtl):
32188        (WebCore::ComplexTextController::glyphs):
32189        (WebCore::ComplexTextController::length):
32190        (WebCore::ComplexTextController::xPositions):
32191        (WebCore::ComplexTextController::advances):
32192        (WebCore::ComplexTextController::width):
32193        (WebCore::ComplexTextController::logClusters):
32194        (WebCore::ComplexTextController::numCodePoints):
32195        (WebCore::ComplexTextController::fontPlatformDataForScriptRun):
32196        (WebCore::ComplexTextController::isCodepointSpace):
32197        * platform/graphics/chromium/FontLinux.cpp:
32198        (WebCore::Font::drawComplexText):
32199        (WebCore::Font::floatWidthForComplexText):
32200        (WebCore::glyphIndexForXPositionInScriptRun):
32201        (WebCore::Font::offsetForPositionForComplexText):
32202        (WebCore::Font::selectionRectForComplexText):
32203
322042011-01-05  Pratik Solanki  <psolanki@apple.com>
32205
32206        Reviewed by Darin Adler.
32207
32208        Merge cf and mac header files with same name
32209        https://bugs.webkit.org/show_bug.cgi?id=51916
32210
32211        Since most of the code in the header files is identical, we can merge them and have #if
32212        USE(CFNETWORK) to separate out the network specific parts.
32213
32214        * WebCore.xcodeproj/project.pbxproj:
32215        * platform/network/cf/AuthenticationChallenge.h:
32216        (WebCore::AuthenticationChallenge::sender):
32217        (WebCore::AuthenticationChallenge::nsURLAuthenticationChallenge):
32218        * platform/network/cf/ResourceError.h:
32219        (WebCore::ResourceError::ResourceError):
32220        * platform/network/cf/ResourceRequest.h:
32221        (WebCore::ResourceRequest::ResourceRequest):
32222        * platform/network/cf/ResourceResponse.h:
32223        (WebCore::ResourceResponse::ResourceResponse):
32224        * platform/network/mac/AuthenticationChallenge.h: Removed.
32225        * platform/network/mac/ResourceError.h: Removed.
32226        * platform/network/mac/ResourceRequest.h: Removed.
32227        * platform/network/mac/ResourceResponse.h: Removed.
32228
322292011-01-05  Anders Carlsson  <andersca@apple.com>
32230
32231        Reviewed by Adele Peterson.
32232
32233        Implement word transformation
32234        https://bugs.webkit.org/show_bug.cgi?id=51943
32235
32236        Export Editor functions needed by WebKit2.
32237
32238        * WebCore.exp.in:
32239
322402011-01-05  Simon Fraser  <simon.fraser@apple.com>
32241
32242        Reviewed by Dave Hyatt.
32243
32244        Implement repeating CSS3 gradients
32245        https://bugs.webkit.org/show_bug.cgi?id=51843
32246        
32247        Add support for repeating gradients, via the new gradient functions
32248        -webkit-repeating-linear-gradient and -webkit-repeating-radial-gradient.
32249
32250        Tests: fast/gradients/css3-repeating-linear-gradients.html
32251               fast/gradients/css3-repeating-radial-gradients.html
32252
32253        * css/CSSGradientValue.h:
32254        (WebCore::CSSGradientValue::isRepeating): Accessor for whethe the gradient repeats.
32255        (WebCore::CSSGradientValue::CSSGradientValue): Pass CSSGradientRepeat in.
32256        (WebCore::CSSLinearGradientValue::create): Pass CSSGradientRepeat.
32257        (WebCore::CSSLinearGradientValue::CSSLinearGradientValue): Ditto
32258        (WebCore::CSSRadialGradientValue::create): Ditto.
32259        (WebCore::CSSRadialGradientValue::CSSRadialGradientValue): Ditto.
32260
32261        * css/CSSGradientValue.cpp:
32262        (WebCore::CSSGradientValue::addStops): Pass maxLengthForRepeat, which
32263        is used for repeating radial gradients. Add code to repeat the stops,
32264        adding stops before the start, and after the end until the 0-N range is
32265        covered, where N is large enough to ensure the box is covered. Fix an issue
32266        with repeating gradients where if both stops were < 0, it would fail to clamp
32267        them to 0.
32268        
32269        (WebCore::CSSLinearGradientValue::cssText): Output strings for repeating gradients.
32270        (WebCore::CSSLinearGradientValue::createGradient): maxExtent for linear gradients is 1,
32271        because they are guaranteed to fill the box already.
32272        (WebCore::CSSRadialGradientValue::cssText): Output strings for repeating gradients.
32273        (WebCore::CSSRadialGradientValue::createGradient): Compute the distance to the furthest
32274        corner in order to inform addStops() how much additional extent is required.
32275
32276        * css/CSSParser.cpp:
32277        (WebCore::CSSParser::parseDeprecatedGradient): Old gradients never repeat.
32278        (WebCore::CSSParser::parseLinearGradient): Pass down CSSGradientRepeat.
32279        (WebCore::CSSParser::parseRadialGradient): Ditto.
32280        (WebCore::CSSParser::isGeneratedImageValue): Add repeating gradient functions.
32281        (WebCore::CSSParser::parseGeneratedImage): Ditto.
32282        * css/CSSParser.h: Pass CSSGradientRepeat to gradient functions.
32283        * platform/graphics/cg/GradientCG.cpp: Remove unused #include.
32284
322852011-01-05  Martin Robinson  <mrobinson@igalia.com>
32286
32287        Reviewed by Ariya Hidayat.
32288
32289        ContextShadow::blurLayerImage() not endian-safe
32290        https://bugs.webkit.org/show_bug.cgi?id=51822
32291
32292        Correct the channel map in ContextShadow to reflect the different
32293        ordering of pixels on processors with different endianness.
32294
32295        No new tests. This is covered by the existing shadow tests. It was
32296        not discovered, because all of the bots using ContextShadow are
32297        little-endian.
32298
32299        * platform/graphics/ContextShadow.cpp:
32300        (WebCore::ContextShadow::blurLayerImage): Initialize the channel mapping
32301        based on machine endianness.
32302
323032011-01-05  Mihai Parparita  <mihaip@chromium.org>
32304
32305        Reviewed by Nate Chapin.
32306
32307        [Chromium] Crash when drawing PDF plug-in scrollbars
32308        https://bugs.webkit.org/show_bug.cgi?id=51942
32309
32310        Pepper plug-in scrollbars don't have a parent, guard against that before
32311        seeing if the parent is a FrameView.
32312
32313        Not testable via layout tests, verified fix by hand.
32314        
32315        * platform/chromium/ScrollbarThemeChromiumMac.mm:
32316        (WebCore::ScrollbarThemeChromiumMac::paint):
32317
323182011-01-05  Abhishek Arya  <inferno@chromium.org>
32319
32320        Unreviewed.
32321
32322        Update FIXME comment to sound better. Also initialize the block to fix compile.
32323
32324        * rendering/RenderBlock.cpp:
32325        (WebCore::RenderBlock::removeChild):
32326
323272011-01-05  Abhishek Arya  <inferno@chromium.org>
32328
32329        Reviewed by Dave Hyatt.
32330
32331        Do not merge anonymous blocks when one of them is the one getting removed.
32332        https://bugs.webkit.org/show_bug.cgi?id=51919
32333
32334        Test: fast/block/merge-anonymous-block-remove-child-crash.html
32335
32336        * rendering/RenderBlock.cpp:
32337        (WebCore::RenderBlock::removeChild):
32338
323392011-01-05  Ryosuke Niwa  <rniwa@webkit.org>
32340
32341        Reviewed by Eric Seidel.
32342
32343        ApplyStyleCommand::applyRelativeFontStyleChange should take EditingStyle*
32344        https://bugs.webkit.org/show_bug.cgi?id=50641
32345
32346        Modified applyRelativeFontStyleChange to take EditingStyle instead of CSSMutableStyleDeclaration.
32347        Also extracted the logic to obtain the font size delta from ApplyStyleCommand to EditingStyle.
32348        The font size delta is now stored as a member variable of EditingStyle as supposed to a property
32349        in CSSMutableStyleDeclration as soon as EditingStyle is instantiated.
32350
32351        No new tests are added since this is a refactoring.
32352
32353        * editing/ApplyStyleCommand.cpp:
32354        (WebCore::ApplyStyleCommand::doApply): Calls applyRelativeFontStyleChange.
32355        (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange): Takes EditingStyle.
32356        * editing/ApplyStyleCommand.h:
32357        * editing/EditingStyle.cpp:
32358        (WebCore::EditingStyle::EditingStyle): Initializes m_fontSizeDelta.
32359        (WebCore::EditingStyle::init): Ditto.
32360        (WebCore::EditingStyle::extractFontSizeDelta): Extracted from applyRelativeFontStyleChange.
32361        (WebCore::EditingStyle::isEmpty): Takes care of m_fontSizeDelta.
32362        (WebCore::EditingStyle::setStyle): Calls extractFontSizeDelta.
32363        (WebCore::EditingStyle::overrideWithStyle): Ditto.
32364        (WebCore::EditingStyle::clear): Initializes m_fontSizeDelta.
32365        (WebCore::EditingStyle::copy): Calls extractFontSizeDelta.
32366        * editing/EditingStyle.h:
32367        (WebCore::EditingStyle::fontSizeDelta): Added.
32368        (WebCore::EditingStyle::hasFontSizeDelta): Added.
32369        * editing/Editor.h:
32370
323712011-01-05  Dan Bernstein  <mitz@apple.com>
32372
32373        Reviewed by Darin Adler.
32374
32375        <rdar://problem/8799835> hyphenate-character: auto should fall back to hyphen-minus if the primary font lacks a hyphen glyph
32376        https://bugs.webkit.org/show_bug.cgi?id=51915
32377
32378        This changes the results of existing tests in fast/text.
32379
32380        * platform/graphics/Font.h:
32381        * platform/graphics/FontFastPath.cpp:
32382        (WebCore::Font::primaryFontHasGlyphForCharacter): Added.
32383        * rendering/style/RenderStyle.cpp:
32384        * platform/graphics/qt/FontQt.cpp:
32385        (WebCore::Font::primaryFontHasGlyphForCharacter): Added a stub.
32386        (WebCore::RenderStyle::hyphenString): For hyphenate-character: auto, return a
32387        hyphen only if the primary font has a hyphen glyph, and otherwise return a
32388        hyphen-minus.
32389
323902011-01-05  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
32391
32392        Reviewed by Ariya Hidayat.
32393
32394        [Qt] [Symbian] Make CONFIG-=def_files the default configuration for trunk builds
32395        https://bugs.webkit.org/show_bug.cgi?id=51888
32396
32397        Overrule Qt's default from qconfig.pri for non-production builds so
32398        that CONFIG(def_files) evaluates to false and QtWebKit trunk builds succeed.
32399
32400        No new tests as there is no new functionality.
32401
32402        * WebCore.pro:
32403
324042011-01-05  Sheriff Bot  <webkit.review.bot@gmail.com>
32405
32406        Unreviewed, rolling out r74778.
32407        http://trac.webkit.org/changeset/74778
32408        https://bugs.webkit.org/show_bug.cgi?id=51930
32409
32410        Android and QtWebKit-V8 uses V8DOMWindowShell::setContext.
32411        (Requested by bbandix on #webkit).
32412
32413        * bindings/v8/V8DOMWindowShell.cpp:
32414        (WebCore::V8DOMWindowShell::setContext):
32415        * bindings/v8/V8DOMWindowShell.h:
32416
324172011-01-05  Yi Shen  <yi.4.shen@nokia.com>
32418
32419        Reviewed by Andreas Kling.
32420
32421        [Qt] Animated GIF images does not animate 10x as expected by default.
32422        https://bugs.webkit.org/show_bug.cgi?id=36818
32423
32424        Add a test animated GIF which should be displayed 2 times and stop.
32425
32426        * manual-tests/animated-gif-looping.html:
32427        * manual-tests/resources/animated-2x.gif: Added.
32428
324292011-01-05  Carlos Garcia Campos  <cgarcia@igalia.com>
32430
32431        Reviewed by Martin Robinson.
32432
32433        [GTK] Fork code of ScrollbarThemeGtk that will differ for GTK+ 3
32434        https://bugs.webkit.org/show_bug.cgi?id=51923
32435
32436        Split out pieces of ScrollbarThemeGtk into ScrollbarThemeGtk2 and
32437        ScrollbarThemeGtk3 that will differ between GTK+ 2 and GTK+ 3.
32438
32439        No new tests. This should not change functionality.
32440
32441        * GNUmakefile.am: Add ScrollbarThemeGtk2.cpp and ScrollbarThemeGtk3.cpp
32442        * platform/gtk/ScrollbarThemeGtk.cpp:
32443        (WebCore::ScrollbarThemeGtk::updateScrollbarsFrameThickness):
32444        * platform/gtk/ScrollbarThemeGtk.h:
32445        * platform/gtk/ScrollbarThemeGtk2.cpp: Added.
32446        (WebCore::ScrollbarThemeGtk::updateThemeProperties):
32447        (WebCore::ScrollbarThemeGtk::paintTrackBackground):
32448        (WebCore::ScrollbarThemeGtk::paintScrollbarBackground):
32449        (WebCore::ScrollbarThemeGtk::paintThumb):
32450        (WebCore::ScrollbarThemeGtk::paintButton):
32451        * platform/gtk/ScrollbarThemeGtk3.cpp: Added.
32452        (WebCore::ScrollbarThemeGtk::updateThemeProperties):
32453        (WebCore::ScrollbarThemeGtk::paintTrackBackground):
32454        (WebCore::ScrollbarThemeGtk::paintScrollbarBackground):
32455        (WebCore::ScrollbarThemeGtk::paintThumb):
32456        (WebCore::ScrollbarThemeGtk::paintButton):
32457
324582011-01-05  Patrick Gansterer  <paroga@webkit.org>
32459
32460        Reviewed by Andreas Kling.
32461
32462        [CMake] Fix the usage of SOURCE_GROUP
32463        https://bugs.webkit.org/show_bug.cgi?id=51739
32464
32465        * CMakeLists.txt:
32466
324672011-01-05  Andras Becsi  <abecsi@webkit.org>
32468
32469        Reviewed by Csaba Osztrogonác.
32470
32471        [Qt][V8] Fix the build after recent changes.
32472
32473        No new tests needed.
32474
32475        * WebCore.pro: Add missing files, and remove obsolete ones.
32476
324772011-01-05  Yong Li  <yoli@rim.com>
32478
32479        Reviewed by Adam Barth.
32480
32481        Suspend HTMLParserScheduler when page load is deferred to
32482        avoid potential JS re-entrancy. Otherwise, when JS execution is triggered
32483        from an external script or by events, and is blocked by a modal dialog,
32484        WebKit can parse more HTML source and also start another JS execution.
32485        
32486        https://bugs.webkit.org/show_bug.cgi?id=48077
32487
32488        Test case: WebCore/manual-tests/bugzilla-48077.html.
32489
32490        * dom/DocumentParser.cpp:
32491        (WebCore::DocumentParser::suspendScheduledTasks):
32492        (WebCore::DocumentParser::resumeScheduledTasks):
32493        * dom/DocumentParser.h:
32494        * html/parser/HTMLDocumentParser.cpp:
32495        (WebCore::HTMLDocumentParser::suspendScheduledTasks):
32496        (WebCore::HTMLDocumentParser::resumeScheduledTasks):
32497        * html/parser/HTMLParserScheduler.cpp:
32498        (WebCore::HTMLParserScheduler::HTMLParserScheduler):
32499        (WebCore::HTMLParserScheduler::suspend):
32500        (WebCore::HTMLParserScheduler::resume):
32501        * html/parser/HTMLParserScheduler.h:
32502        (WebCore::HTMLParserScheduler::isScheduledForResume):
32503        * page/PageGroupLoadDeferrer.cpp:
32504        (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
32505        (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
32506
325072011-01-05  Simon Hausmann  <simon.hausmann@nokia.com>
32508
32509        Reviewed by Kenneth Rohde Christiansen, Gustavo Noronha Silva
32510
32511        [GStreamer] MediaPlayerPrivateGStreamer::totalBytes() does not work reliably
32512        https://bugs.webkit.org/show_bug.cgi?id=51926
32513
32514        Work around potential upstream bug: Querying a GstBin for the duration,
32515        will forward the query to all sink children. Our WebKitWebSrc however
32516        is a bin with only source children, therefore the query fails. Until
32517        this is changed upstream, this patch works around it as follows,
32518        based on suggestion by Philippe Normand and Sebastian Dröge:
32519
32520        When the initial query fails, attempt the same query on all source
32521        pads and take the maximum length reported.
32522
32523        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
32524        (WebCore::MediaPlayerPrivateGStreamer::totalBytes):
32525
325262011-01-05  Philippe Normand  <pnormand@igalia.com>
32527
32528        Rubber-stamped by Eric Seidel.
32529
32530        [GStreamer] build fails with gstreamer core 0.10.31 and -plugins-base 0.10.30
32531        https://bugs.webkit.org/show_bug.cgi?id=51810
32532
32533        Based on a patch by Mart Raudsepp.
32534
32535        No new tests, build fix only.
32536
32537        * platform/graphics/gstreamer/GStreamerGWorld.cpp:
32538        (WebCore::GStreamerGWorld::setWindowOverlay): Use the new xoverlay
32539        API if the GST_CHECK_PLUGINS_BASE_VERSION macro is defined. It was
32540        introduced in same version as the xoverlay API change.
32541
325422011-01-05  Leo Yang  <leo.yang@torchmobile.com.cn>
32543
32544        Reviewed by Dirk Schulze.
32545
32546        Malformed SVG causes crash in updateContainerOffset
32547        https://bugs.webkit.org/show_bug.cgi?id=44610
32548
32549        We should check recursive <use> at the begining of
32550        WebCore::SVGUseElement::buildInstanceTree instead
32551        of at the end of it because the target element's
32552        children may cause infinite recursive <use>.
32553
32554        Test: svg/custom/recursive-use.svg
32555
32556        * svg/SVGUseElement.cpp:
32557        (WebCore::SVGUseElement::buildInstanceTree):
32558        (WebCore::SVGUseElement::hasCycleUseReferencing):
32559        * svg/SVGUseElement.h:
32560
325612011-01-04  Antti Koivisto  <antti@apple.com>
32562
32563        Reviewed by Dan Bernstein.
32564
32565        https://bugs.webkit.org/show_bug.cgi?id=51907
32566        Style selector should only be recalculated when the pending sheet count goes to zero
32567        
32568        Shark says this is a significant performance improvement on some sites with lots of stylesheets.
32569
32570        * dom/Document.cpp:
32571        (WebCore::Document::removePendingSheet):
32572
325732011-01-05  Carlos Garcia Campos  <cgarcia@igalia.com>
32574
32575        Reviewed by Martin Robinson.
32576
32577        [GTK] Use GtkStyleContext to get platform colors
32578        https://bugs.webkit.org/show_bug.cgi?id=51830
32579
32580        Use GtkStyleContext API to get platform colors when building with
32581        GTK+ 3.x.
32582
32583        No new tests. This should not change functionality.
32584
32585        * platform/graphics/Color.h: Add specialized constructor for GdkRGBA.
32586        * platform/graphics/gtk/ColorGtk.cpp:
32587        (WebCore::Color::Color):
32588        (WebCore::Color::operator GdkRGBA):
32589        * platform/gtk/RenderThemeGtk3.cpp:
32590        (WebCore::RenderThemeGtk::platformActiveSelectionBackgroundColor):
32591        (WebCore::RenderThemeGtk::platformInactiveSelectionBackgroundColor):
32592        (WebCore::RenderThemeGtk::platformActiveSelectionForegroundColor):
32593        (WebCore::RenderThemeGtk::platformInactiveSelectionForegroundColor):
32594        (WebCore::RenderThemeGtk::activeListBoxSelectionBackgroundColor):
32595        (WebCore::RenderThemeGtk::inactiveListBoxSelectionBackgroundColor):
32596        (WebCore::RenderThemeGtk::activeListBoxSelectionForegroundColor):
32597        (WebCore::RenderThemeGtk::inactiveListBoxSelectionForegroundColor):
32598        (WebCore::RenderThemeGtk::systemColor):
32599
326002011-01-05  Carlos Garcia Campos  <cgarcia@igalia.com>
32601
32602        Unreviewed. Build fix for GTK when using gtk+-3 after r75009.
32603
32604        * platform/gtk/RenderThemeGtk3.cpp:
32605        (WebCore::RenderThemeGtk::getStockIcon): Use adoptGRef instead of
32606        adoptGRefPtr which doesn't exist.
32607
326082011-01-05  Alexey Proskuryakov  <ap@apple.com>
32609
32610        Reviewed by Sam Weinig.
32611
32612        https://bugs.webkit.org/show_bug.cgi?id=51903
32613        Tell UI process which subframe is largest
32614
32615        * WebCore.exp.in: Exported FrameView::contentsSize().
32616
326172011-01-04  Chris Fleizach  <cfleizach@apple.com>
32618
32619        Unreviewed. GTK build fix.
32620
32621        WK2: Support Accessibility
32622        https://bugs.webkit.org/show_bug.cgi?id=51859
32623
32624        * page/FrameView.cpp:
32625        (WebCore::FrameView::axObjectCache):
32626
326272011-01-04  Sheriff Bot  <webkit.review.bot@gmail.com>
32628
32629        Unreviewed, rolling out r74992.
32630        http://trac.webkit.org/changeset/74992
32631        https://bugs.webkit.org/show_bug.cgi?id=51917
32632
32633        Crash in HTMLDocumentParser::suspendScheduledTasks()
32634        (Requested by tkent on #webkit).
32635
32636        * dom/DocumentParser.cpp:
32637        * dom/DocumentParser.h:
32638        * html/parser/HTMLDocumentParser.cpp:
32639        * html/parser/HTMLDocumentParser.h:
32640        * html/parser/HTMLParserScheduler.cpp:
32641        (WebCore::HTMLParserScheduler::HTMLParserScheduler):
32642        * html/parser/HTMLParserScheduler.h:
32643        (WebCore::HTMLParserScheduler::isScheduledForResume):
32644        * page/PageGroupLoadDeferrer.cpp:
32645        (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
32646        (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
32647
326482011-01-04  Benjamin Poulain  <benjamin.poulain@nokia.com>
32649
32650        Reviewed by Kenneth Rohde Christiansen.
32651
32652        [Qt] [WK2] Add support for non-trivial context menu action
32653        https://bugs.webkit.org/show_bug.cgi?id=51902
32654
32655        Fix the preprocessor guard for ContextMenuItemTagSelectAll in
32656        the implementation of ContextMenuController::contextMenuItemSelected(). The guard was
32657        inconsistent with what is defined in ContextMenuItem.h.
32658
32659        * page/ContextMenuController.cpp:
32660        (WebCore::ContextMenuController::contextMenuItemSelected):
32661
326622011-01-04  Tony Gentilcore  <tonyg@chromium.org>
32663
32664        Reviewed by Ryosuke Niwa.
32665
32666        Avoid manual ref/deref in AsyncScriptRunner by using PendingScript
32667        https://bugs.webkit.org/show_bug.cgi?id=51723
32668
32669        ScriptElement should also be able to keep its Element+CachedScript in
32670        a PendingScript, and then executeScriptSoon can accept a PendingScript.
32671        Once HTMLScriptRunner, ScriptElement, and AsyncScriptRunner all use
32672        PendingScripts, then generic request and execute which operate on
32673        PendingScripts can be factored out to avoid code duplicate that we have.
32674
32675        No new tests because no new functionality.
32676
32677        * dom/AsyncScriptRunner.cpp:
32678        (WebCore::AsyncScriptRunner::~AsyncScriptRunner):
32679        (WebCore::AsyncScriptRunner::executeScriptSoon):
32680        (WebCore::AsyncScriptRunner::timerFired):
32681        * dom/AsyncScriptRunner.h:
32682        * dom/PendingScript.h: Add ctor which sets element and cachedScript. Rename adoptElement->setElement.
32683        * dom/HTMLScriptRunner.cpp:
32684        (WebCore::HTMLScriptRunner::requestPendingScript):
32685
326862011-01-04  Jeff Miller  <jeffm@apple.com>
32687
32688        Reviewed by Darin Adler.
32689
32690        Member variable and method naming cleanup to be consistent with WebKit2.
32691        https://bugs.webkit.org/show_bug.cgi?id=51228
32692
32693        * page/win/EventHandlerWin.cpp:
32694        (WebCore::EventHandler::eventActivatedView):
32695        Rename activatedWebView() to didActivateWebView().
32696        
32697        * platform/PlatformMouseEvent.h:
32698        Rename m_activatedWebView to m_didActivateWebView.
32699        
32700        (WebCore::PlatformMouseEvent::PlatformMouseEvent):
32701        Initialize platform-specific member variables in PlatformMouseEvent constructors.
32702        
32703        (WebCore::PlatformMouseEvent::didActivateWebView):
32704        Rename activatedWebView() to didActivateWebView().
32705
32706        * platform/win/PlatformMouseEventWin.cpp:
32707        (WebCore::PlatformMouseEvent::PlatformMouseEvent):
32708        Rename m_activatedWebView to m_didActivateWebView.
32709
327102011-01-04  Yael Aharon  <yael.aharon@nokia.com>
32711
32712        Reviewed by Darin Adler.
32713
32714        CSS3 :nth-child selector and valid whitespace test fails
32715        https://bugs.webkit.org/show_bug.cgi?id=36279
32716
32717        Teach the tokenizer to allow white spaces around [+/-] signs in nth constructs.
32718
32719        Test: fast/css/css3-nth-space.html
32720
32721        * css/tokenizer.flex:
32722
327232011-01-04  Chris Fleizach  <cfleizach@apple.com>
32724
32725        Unreviewed. Build fix.
32726
32727        WK2: Support Accessibility
32728        https://bugs.webkit.org/show_bug.cgi?id=51859
32729
32730        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
32731        (fallbackObject):
32732
327332011-01-04  Cosmin Truta  <ctruta@chromium.org>
32734
32735        Reviewed by Eric Seidel.
32736
32737        [chromium] PNG compression settings optimized for speed
32738        https://bugs.webkit.org/show_bug.cgi?id=51719
32739
32740        Although Z_HUFFMAN_ONLY is the fastest on hard-to-compress images,
32741        it is also the slowest, by a wide margin, on easy-to-compress images.
32742        Use a more balanced configuration, based on the libpng compression defaults,
32743        but with a faster compression level (3 instead of 6), and a faster filter
32744        ("sub" instead of "all").
32745
32746        No change in behaviour, so no new tests.
32747
32748        * platform/image-encoders/skia/PNGImageEncoder.cpp:
32749        (WebCore::PNGImageEncoder::encode):
32750
327512011-01-04  Chris Fleizach  <cfleizach@apple.com>
32752
32753        Reviewed by Sam Weinig.
32754
32755        WK2: Support Accessibility
32756        https://bugs.webkit.org/show_bug.cgi?id=51859
32757
32758        WK2 doesn't use platform scroll views anymore. Accessibility code
32759        needs to have its own scroll views. 
32760
32761        Test: platform/mac/accessibility/webkit-scrollarea.html
32762
32763        * CMakeLists.txt:
32764        * GNUmakefile.am:
32765        * WebCore.exp.in:
32766        * WebCore.gypi:
32767        * WebCore.pro:
32768        * WebCore.vcproj/WebCore.vcproj:
32769        * WebCore.xcodeproj/project.pbxproj:
32770        * accessibility/AXObjectCache.cpp:
32771        (WebCore::AXObjectCache::AXObjectCache):
32772        (WebCore::AXObjectCache::get):
32773        (WebCore::AXObjectCache::getOrCreate):
32774        (WebCore::AXObjectCache::rootObject):
32775        (WebCore::AXObjectCache::remove):
32776        (WebCore::AXObjectCache::handleScrollbarUpdate):
32777        * accessibility/AXObjectCache.h:
32778        (WebCore::AXObjectCache::handleScrollbarUpdate):
32779        * accessibility/AccessibilityARIAGrid.h:
32780        * accessibility/AccessibilityAllInOne.cpp:
32781        * accessibility/AccessibilityImageMapLink.cpp:
32782        * accessibility/AccessibilityImageMapLink.h:
32783        * accessibility/AccessibilityListBoxOption.cpp:
32784        * accessibility/AccessibilityListBoxOption.h:
32785        * accessibility/AccessibilityObject.cpp:
32786        (WebCore::AccessibilityObject::updateChildrenIfNecessary):
32787        (WebCore::AccessibilityObject::elementAccessibilityHitTest):
32788        (WebCore::AccessibilityObject::axObjectCache):
32789        (WebCore::AccessibilityObject::focusedUIElement):
32790        * accessibility/AccessibilityObject.h:
32791        (WebCore::AccessibilityObject::isAccessibilityScrollView):
32792        (WebCore::AccessibilityObject::isScrollView):
32793        (WebCore::AccessibilityObject::canSetNumericValue):
32794        (WebCore::AccessibilityObject::scrollBar):
32795        (WebCore::AccessibilityObject::size):
32796        (WebCore::AccessibilityObject::setValue):
32797        * accessibility/AccessibilityRenderObject.cpp:
32798        (WebCore::AccessibilityRenderObject::parentObject):
32799        (WebCore::AccessibilityRenderObject::accessibilityHitTest):
32800        (WebCore::AccessibilityRenderObject::updateChildrenIfNecessary):
32801        (WebCore::AccessibilityRenderObject::addChildren):
32802        * accessibility/AccessibilityRenderObject.h:
32803        * accessibility/AccessibilityScrollView.cpp: Added.
32804        (WebCore::AccessibilityScrollView::AccessibilityScrollView):
32805        (WebCore::AccessibilityScrollView::create):
32806        (WebCore::AccessibilityScrollView::scrollBar):
32807        (WebCore::AccessibilityScrollView::children):
32808        (WebCore::AccessibilityScrollView::updateChildrenIfNecessary):
32809        (WebCore::AccessibilityScrollView::removeChildScrollbar):
32810        (WebCore::AccessibilityScrollView::addChildScrollbar):
32811        (WebCore::AccessibilityScrollView::addChildren):
32812        (WebCore::AccessibilityScrollView::webAreaObject):
32813        (WebCore::AccessibilityScrollView::accessibilityHitTest):
32814        (WebCore::AccessibilityScrollView::document):
32815        (WebCore::AccessibilityScrollView::elementRect):
32816        (WebCore::AccessibilityScrollView::parentObject):
32817        * accessibility/AccessibilityScrollView.h: Added.
32818        (WebCore::AccessibilityScrollView::roleValue):
32819        (WebCore::AccessibilityScrollView::scrollView):
32820        (WebCore::AccessibilityScrollView::accessibilityIsIgnored):
32821        (WebCore::AccessibilityScrollView::isAccessibilityScrollView):
32822        (WebCore::toAccessibilityScrollView):
32823        * accessibility/AccessibilityScrollbar.cpp:
32824        (WebCore::AccessibilityScrollbar::AccessibilityScrollbar):
32825        (WebCore::AccessibilityScrollbar::create):
32826        (WebCore::AccessibilityScrollbar::elementRect):
32827        (WebCore::AccessibilityScrollbar::document):
32828        (WebCore::AccessibilityScrollbar::orientation):
32829        (WebCore::AccessibilityScrollbar::isEnabled):
32830        (WebCore::AccessibilityScrollbar::valueForRange):
32831        (WebCore::AccessibilityScrollbar::setValue):
32832        * accessibility/AccessibilityScrollbar.h:
32833        (WebCore::AccessibilityScrollbar::setParent):
32834        (WebCore::AccessibilityScrollbar::canSetValueAttribute):
32835        (WebCore::AccessibilityScrollbar::canSetNumericValue):
32836        (WebCore::AccessibilityScrollbar::isAccessibilityScrollbar):
32837        (WebCore::AccessibilityScrollbar::parentObject):
32838        (WebCore::AccessibilityScrollbar::roleValue):
32839        * accessibility/mac/AccessibilityObjectMac.mm:
32840        (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
32841        * accessibility/mac/AccessibilityObjectWrapper.mm:
32842        (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
32843        (-[AccessibilityObjectWrapper remoteAccessibilityParentObject]):
32844        (-[AccessibilityObjectWrapper position]):
32845        (-[AccessibilityObjectWrapper scrollViewParent]):
32846        (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
32847        (-[AccessibilityObjectWrapper accessibilityHitTest:]):
32848        (-[AccessibilityObjectWrapper accessibilitySetValue:forAttribute:]):
32849        * dom/Document.cpp:
32850        (WebCore::Document::axObjectCache):
32851        * loader/EmptyClients.h:
32852        (WebCore::EmptyFrameLoaderClient::accessibilityRemoteObject):
32853        * loader/FrameLoaderClient.h:
32854        * page/FrameView.cpp:
32855        (WebCore::FrameView::~FrameView):
32856        (WebCore::FrameView::axObjectCache):
32857        * page/FrameView.h:
32858        * platform/ScrollView.cpp:
32859        (WebCore::ScrollView::setHasHorizontalScrollbar):
32860        (WebCore::ScrollView::setHasVerticalScrollbar):
32861        * platform/Scrollbar.cpp:
32862        (WebCore::Scrollbar::~Scrollbar):
32863        (WebCore::Scrollbar::scroll):
32864        (WebCore::Scrollbar::axObjectCache):
32865        * platform/Scrollbar.h:
32866        * platform/Widget.h:
32867        (WebCore::Widget::axObjectCache):
32868
328692011-01-04  W. James MacLean  <wjmaclean@chromium.org>
32870
32871        Reviewed by Kenneth Russell.
32872
32873        [chromium] Add support to compositor to composite to offscreen texture.
32874        https://bugs.webkit.org/show_bug.cgi?id=50833
32875
32876        A patch to extend compositor to be able to composite into an offscreen texture instead
32877        of just directly to the display buffer. Builds on RenderSurfaceChromium support.
32878        Explicitly resets alpha channel before rendering to display.
32879
32880        * platform/graphics/chromium/LayerRendererChromium.cpp:
32881        (WebCore::LayerRendererChromium::LayerRendererChromium):
32882        (WebCore::LayerRendererChromium::updateAndDrawRootLayer):
32883        (WebCore::LayerRendererChromium::drawLayers):
32884        (WebCore::LayerRendererChromium::setCompositeOffscreen):
32885        (WebCore::LayerRendererChromium::useRenderSurface):
32886        (WebCore::LayerRendererChromium::setScissorToRect):
32887        * platform/graphics/chromium/LayerRendererChromium.h:
32888        (WebCore::LayerRendererChromium::isCompositingOffscreen):
32889        (WebCore::LayerRendererChromium::getOffscreenLayerTexture):
32890
328912011-01-04  Evan Martin  <evan@chromium.org>
32892
32893        Reviewed by Tony Chang.
32894
32895        [chromium] depend on harfbuzz explicitly
32896        https://bugs.webkit.org/show_bug.cgi?id=51895
32897
32898        platform/graphics/chromium uses Harfbuzz directly.  Rather than
32899        expecting Skia to adjust the include paths, be explicit about
32900        the dependency.
32901
32902        * WebCore.gyp/WebCore.gyp:
32903
329042011-01-04  Darin Adler  <darin@apple.com>
32905
32906        Reviewed by Brady Eidson.
32907
32908        Add back/forward encoding and decoding to WebKit2
32909        https://bugs.webkit.org/show_bug.cgi?id=51901
32910
32911        * WebCore.exp.in: Export functions used in WebKit2.
32912
32913        * history/HistoryItem.cpp:
32914        (WebCore::HistoryItem::encodeBackForwardTree): Use references instead of pointers.
32915        (WebCore::HistoryItem::encodeBackForwardTreeNode): Ditto.
32916        (WebCore::HistoryItem::decodeBackForwardTree): Ditto.
32917        * history/HistoryItem.h: Ditto.
32918        * platform/network/FormData.cpp:
32919        (WebCore::encode): Ditto.
32920        (WebCore::decode): Ditto.
32921        (WebCore::FormData::encodeForBackForward): Ditto.
32922        (WebCore::FormData::decodeForBackForward): Ditto.
32923        * platform/network/FormData.h: Ditto.
32924
329252011-01-04  Xiaomei Ji  <xji@chromium.org>
32926
32927        Reviewed by Dan Bernstein.
32928
32929        Implement sel.modify('move', 'left'/'right', 'lineBoundary').
32930        https://bugs.webkit.org/show_bug.cgi?id=33435
32931
32932        * editing/SelectionController.cpp:
32933        (WebCore::SelectionController::modifyMovingRight):
32934        (WebCore::SelectionController::modifyMovingLeft):
32935        * editing/visible_units.cpp:
32936        (WebCore::logicalStartOfLine):
32937        (WebCore::logicalEndOfLine):
32938        (WebCore::leftBoundaryOfLine):
32939        (WebCore::rightBoundaryOfLine):
32940        * editing/visible_units.h:
32941
329422011-01-04  Martin Robinson  <mrobinson@igalia.com>
32943
32944        Reviewed by Xan Lopez.
32945
32946        [GTK] Use the default CSS text input control border width of relying on the GTK+ theme
32947        https://bugs.webkit.org/show_bug.cgi?id=51887
32948
32949        Do not rely on the GTK+ theme to determine text control borders. This simplifies
32950        the RenderTheme code, prevents metrics differences between GTK+ 2.x and 3.x and
32951        doesn't break the rendering of any theme that I've encountered.
32952
32953        * platform/gtk/RenderThemeGtk.cpp:
32954        (WebCore::RenderThemeGtk::adjustSearchFieldStyle): No longer call setTextInputBorders, but
32955        still disable any border radius.
32956        * platform/gtk/RenderThemeGtk.h: Remove setTextInputBorders and no longer override the
32957        default style of text areas and text input controls.
32958        * platform/gtk/RenderThemeGtk2.cpp: Ditto.
32959        * platform/gtk/RenderThemeGtk3.cpp: Ditto.
32960
329612011-01-03  Martin Robinson  <mrobinson@igalia.com>
32962
32963        Reviewed by Darin Adler.
32964
32965        Remove the last non-GObject usage of PlatformRefPtr and move the code to GRefPtr
32966        https://bugs.webkit.org/show_bug.cgi?id=51846
32967
32968        No new tests. This should not introduce any functional changes.
32969
32970        Changed all references to PlatformRefPtr in GTK+ code to GRefPtr. Changed
32971        all references to PlatformRefPtr in Brew code to RefPtr.
32972
329732011-01-04  David Kilzer  <ddkilzer@apple.com>
32974
32975        <http://webkit.org/b/51890> Move ResourceLoadPriority.h into WebCore/platform/network
32976
32977        Reviewed by Antti Koivisto.
32978
32979        This is needed to prevent a WebCore/platform policy violation in
32980        my next patch.
32981
32982        * WebCore.gypi: Updated for moved header.
32983        * WebCore.pro: Ditto.
32984        * WebCore.vcproj/WebCore.vcproj: Ditto.
32985        * WebCore.xcodeproj/project.pbxproj: Ditto.
32986        * platform/network/ResourceLoadPriority.h: Renamed from WebCore/loader/ResourceLoadPriority.h.
32987
329882011-01-04  Brady Eidson  <beidson@apple.com>
32989
32990        Reviewed by a spell checker.
32991
32992        * storage/StorageMap.h: mesured?  Really?
32993
329942011-01-04  Carlos Garcia Campos  <cgarcia@igalia.com> and Martin Robinson  <mrobinson@igalia.com>
32995
32996        Reviewed by Xan Lopez.
32997
32998        [GTK] Port stock icon painting to GtkStyleContext
32999        https://bugs.webkit.org/show_bug.cgi?id=51764
33000
33001        Port stock icon painting for media and search input elements to
33002        GtkStyleContext. Also create the initial machinery for accessing
33003        style contexts for all GTK+ 3.x based widgets.
33004
33005        No new tests. This should not change functionality.
33006
33007        * platform/gtk/RenderThemeGtk.cpp:
33008        (WebCore::paintGdkPixbuf):
33009        (WebCore::RenderThemeGtk::paintSearchFieldResultsDecoration):
33010        (WebCore::RenderThemeGtk::paintSearchFieldCancelButton):
33011        (WebCore::RenderThemeGtk::paintMediaButton):
33012        * platform/gtk/RenderThemeGtk.h:
33013        * platform/gtk/RenderThemeGtk2.cpp:
33014        (WebCore::RenderThemeGtk::getStockIcon):
33015        * platform/gtk/RenderThemeGtk3.cpp:
33016        (WebCore::gtkStyleChangedCallback):
33017        (WebCore::styleContextMap):
33018        (WebCore::getStyleContext):
33019        (WebCore::RenderThemeGtk::paintMenuList):
33020
330212010-12-31  Antti Koivisto  <antti@apple.com>
33022
33023        Reviewed by Dave Hyatt.
33024
33025        Scripts should not be executed before preceding stylesheets are loaded
33026        https://bugs.webkit.org/show_bug.cgi?id=8852
33027
33028        Block inline script execution on pending stylesheet loads. This matches
33029        other browsers and HTML5.
33030
33031        Tests: fast/tokenizer/inline-script-stylesheet-write.html
33032               fast/tokenizer/inline-script-stylesheet.html
33033
33034        * dom/PendingScript.cpp:
33035        (WebCore::PendingScript::releaseElementAndClear):
33036        * dom/PendingScript.h:
33037        (WebCore::PendingScript::PendingScript):
33038        (WebCore::PendingScript::operator=):
33039        (WebCore::PendingScript::startingPosition):
33040        (WebCore::PendingScript::setStartingPosition):
33041        * html/HTMLLinkElement.cpp:
33042        (WebCore::HTMLLinkElement::process):
33043        
33044        This fixes an unrelated bug with beforeload events that was exposed by the other
33045        changes (fast/dom/beforeload/remove-link-in-beforeload-listener.html).
33046        
33047        * html/parser/HTMLScriptRunner.cpp:
33048        (WebCore::HTMLScriptRunner::sourceFromPendingScript):
33049        (WebCore::HTMLScriptRunner::runScript):
33050
330512011-01-04  Xianzhu Wang  <wangxianzhu@google.com>
33052
33053        Reviewed by Darin Adler.
33054
33055        Let DataView.getInt8() and DataView.setInt8() use int8_t instead of
33056        ambiguous 'char' to fix fast/canvas/webgl/data-view-test.html failure
33057        on ARM.
33058        https://bugs.webkit.org/show_bug.cgi?id=51861
33059
33060        By the way, changed other getIntXX() and setIntXX() methods to use
33061        more precise integer types.
33062
33063        * bindings/js/JSDataViewCustom.cpp:
33064        (WebCore::setDataViewMember):
33065        * bindings/v8/custom/V8DataViewCustom.cpp:
33066        (WebCore::V8DataView::getInt8Callback):
33067        (WebCore::V8DataView::setInt8Callback):
33068        * html/canvas/DataView.cpp:
33069        (WebCore::DataView::getInt8):
33070        (WebCore::DataView::setInt8):
33071        * html/canvas/DataView.h:
33072        * html/canvas/DataView.idl:
33073
330742011-01-04  Yong Li  <yoli@rim.com>
33075
33076        Reviewed by Adam Barth.
33077
33078        Suspend HTMLParserScheduler when page load is deferred to
33079        avoid potential JS re-entrancy. Otherwise, when JS execution is triggered
33080        from an external script or by events, and is blocked by a modal dialog,
33081        WebKit can parse more HTML source and also start another JS execution.
33082        
33083        https://bugs.webkit.org/show_bug.cgi?id=48077
33084
33085        Test case: WebCore/manual-tests/bugzilla-48077.html.
33086
33087        * dom/DocumentParser.cpp:
33088        (WebCore::DocumentParser::suspendScheduledTasks):
33089        (WebCore::DocumentParser::resumeScheduledTasks):
33090        * dom/DocumentParser.h:
33091        * html/parser/HTMLDocumentParser.cpp:
33092        (WebCore::HTMLDocumentParser::suspendScheduledTasks):
33093        (WebCore::HTMLDocumentParser::resumeScheduledTasks):
33094        * html/parser/HTMLParserScheduler.cpp:
33095        (WebCore::HTMLParserScheduler::HTMLParserScheduler):
33096        (WebCore::HTMLParserScheduler::suspend):
33097        (WebCore::HTMLParserScheduler::resume):
33098        * html/parser/HTMLParserScheduler.h:
33099        (WebCore::HTMLParserScheduler::isScheduledForResume):
33100        * page/PageGroupLoadDeferrer.cpp:
33101        (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
33102        (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
33103
331042011-01-04  Tony Gentilcore  <tonyg@chromium.org>
33105
33106        Unreviewed build fix.
33107
33108        Include glib-object.h for GObject
33109        https://bugs.webkit.org/show_bug.cgi?id=51876
33110
33111        * bindings/gobject/DOMObjectCache.cpp:
33112
331132011-01-04  Ryosuke Niwa  <rniwa@webkit.org>
33114
33115        Reviewed by Dan Bernstein.
33116
33117        Clicking on the first or the last letter of LTR/RTL text in a RTL/LTR block puts caret on the opposite side.
33118        https://bugs.webkit.org/show_bug.cgi?id=50992
33119
33120        Fixed the bug by interchanging the offset when the direction of inline text box and the containing block
33121        does not match. Reused the code added by http://trac.webkit.org/changeset/73553.
33122
33123        Test: editing/selection/caret-bidi-first-and-last-letters.html
33124
33125        * rendering/InlineTextBox.cpp:
33126        (WebCore::InlineTextBox::offsetForPosition):
33127
331282010-12-29  Tony Gentilcore  <tonyg@chromium.org>
33129
33130        Reviewed by Darin Adler.
33131
33132        Remove 2 unnecessary includes from Document.h
33133        https://bugs.webkit.org/show_bug.cgi?id=51727
33134
33135        No new tests because no changed functionality.
33136
33137        * dom/Document.cpp:
33138        * dom/Document.h:
33139        * editing/Editor.cpp:
33140        * editing/SpellChecker.h:
33141        * editing/SplitTextNodeCommand.cpp:
33142        * editing/TextCheckingHelper.cpp:
33143        * page/FrameView.cpp:
33144        * page/Page.cpp:
33145        * rendering/HitTestResult.cpp:
33146        * rendering/InlineTextBox.cpp:
33147        * rendering/InlineTextBox.h:
33148        * rendering/svg/SVGInlineFlowBox.cpp:
33149
331502011-01-04  Patrick Gansterer  <paroga@webkit.org>
33151
33152        Unreviewed WinCE build fix.
33153
33154        * CMakeListsWinCE.txt: Added missing include directories, files and libraries.
33155
331562011-01-04  Yi Shen  <yi.4.shen@nokia.com>
33157
33158        Reviewed by Simon Hausmann.
33159
33160        Provide an interface to require using fullscreen mediaplayer
33161        https://bugs.webkit.org/show_bug.cgi?id=51133
33162
33163        Only video should be displayed in fullscreen when 
33164        requiresFullscreenForVideoPlayback is specified.
33165
33166        No new tests because no client implements requiresFullscreenForVideoPlayback yet.
33167
33168        * html/HTMLMediaElement.cpp:
33169        (WebCore::HTMLMediaElement::updatePlayState):
33170
331712011-01-04  Benjamin Poulain  <benjamin.poulain@nokia.com>
33172
33173        Reviewed by Kenneth Rohde Christiansen.
33174
33175        [Qt] [WK2] create an initial implementation of the context menu handling for WebKit 2
33176        https://bugs.webkit.org/show_bug.cgi?id=51825
33177
33178        Implement contextMenuItemVector() for Qt, this method is used in WebKit 2 to get the
33179        platform independent menu informations.
33180
33181        * platform/qt/ContextMenuQt.cpp:
33182        (WebCore::contextMenuItemVector):
33183
331842011-01-04  Sheriff Bot  <webkit.review.bot@gmail.com>
33185
33186        Unreviewed, rolling out r74960.
33187        http://trac.webkit.org/changeset/74960
33188        https://bugs.webkit.org/show_bug.cgi?id=51868
33189
33190        Rollout since we hit an assert after this patch. (Requested by
33191        krit on #webkit).
33192
33193        * svg/SVGUseElement.cpp:
33194        (WebCore::SVGUseElement::buildInstanceTree):
33195
331962011-01-04  Sheriff Bot  <webkit.review.bot@gmail.com>
33197
33198        Unreviewed, rolling out r74961.
33199        http://trac.webkit.org/changeset/74961
33200        https://bugs.webkit.org/show_bug.cgi?id=51867
33201
33202        breaks 32/64-bits debug bots build (Requested by philn-tp on
33203        #webkit).
33204
33205        * platform/graphics/gstreamer/GStreamerGWorld.cpp:
33206        (WebCore::GStreamerGWorld::setWindowOverlay):
33207
332082011-01-03  Philippe Normand  <pnormand@igalia.com>
33209
33210        Rubber-stamped by Eric Seidel.
33211
33212        [GStreamer] build fails with gstreamer core 0.10.31 and -plugins-base 0.10.30
33213        https://bugs.webkit.org/show_bug.cgi?id=51810
33214
33215        Based on a patch by Mart Raudsepp.
33216
33217        No new tests, build fix only.
33218
33219        * platform/graphics/gstreamer/GStreamerGWorld.cpp:
33220        (WebCore::GStreamerGWorld::setWindowOverlay): Use the new xoverlay
33221        API if the GST_CHECK_PLUGINS_BASE_VERSION macro is defined. It was
33222        introduced in same version as the xoverlay API change.
33223
332242011-01-04  Leo Yang  <leo.yang@torchmobile.com.cn>
33225
33226        Reviewed by Dirk Schulze.
33227
33228        Malformed SVG causes crash in updateContainerOffset
33229        https://bugs.webkit.org/show_bug.cgi?id=44610
33230
33231        We should check recursive <use> at the begining of
33232        WebCore::SVGUseElement::buildInstanceTree instead
33233        of at the end of it because the target element's
33234        children may cause infinite recursive <use>.
33235
33236        Test: svg/custom/recursive-use.svg
33237
33238        * svg/SVGUseElement.cpp:
33239        (WebCore::SVGUseElement::buildInstanceTree):
33240
332412011-01-04  Kent Tamura  <tkent@chromium.org>
33242
33243        Unreviewed, build fix.
33244
33245        Try to fix Clang build.
33246
33247        * css/CSSParser.cpp:
33248        (WebCore::valueFromSideKeyword):
33249        (WebCore::CSSParser::parseLinearGradient):
33250
332512011-01-03  Julie-Jeongeun-Kim  <Jeongeun.Kim@obigo.com>
33252
33253        Reviewed by Darin Adler.
33254
33255        HTML5 Conformance Test failure: approved/xhtml5/object_border_pixel.xhtml
33256        https://bugs.webkit.org/show_bug.cgi?id=48596
33257        
33258        border attribute was not parsed in HTMLObjectElement.
33259        I added code for it as HTMLImageElement handled.
33260
33261        new test:fast/html/object-border.html
33262
33263        * html/HTMLObjectElement.cpp:
33264        (WebCore::HTMLObjectElement::parseMappedAttribute):
33265
332662011-01-03  Darin Adler  <darin@apple.com>
33267
33268        Try to fix Chromium build.
33269
33270        * history/HistoryItem.cpp:
33271        (WebCore::HistoryItem::encodeBackForwardTreeNode): Added a V8 case here.
33272        Not sure this ever will be used with V8.
33273        (WebCore::HistoryItem::decodeBackForwardTree): Ditto.
33274
332752011-01-03  Darin Adler  <darin@apple.com>
33276
33277        Try to fix Leopard build.
33278
33279        * history/HistoryItem.cpp: Use a consistent type, uint64_t, for the
33280        size variable.
33281
332822011-01-03  Abhishek Arya  <inferno@chromium.org>
33283
33284        Reviewed by Darin Adler.
33285
33286        Fixes before child calculation when adding anonymous childs to table parts.
33287        https://bugs.webkit.org/show_bug.cgi?id=50932
33288
33289        Fix in r74364 was incomplete. When before child is equal to the table part(to
33290        which the new child is getting added), it confuses the table part to add it
33291        incorrectly as an after child. The patch fixes by passing the before child as
33292        the table part's first child.
33293
33294        Tests: fast/css-generated-content/table-before-after-child-add.html
33295               fast/css-generated-content/table-cell-before-after-child-add.html
33296               fast/css-generated-content/table-row-before-after-child-add.html
33297               fast/css-generated-content/table-row-before-after-child-add.html
33298
33299        * rendering/RenderTable.cpp:
33300        (WebCore::RenderTable::addChild):
33301        * rendering/RenderTableRow.cpp:
33302        (WebCore::RenderTableRow::addChild):
33303        * rendering/RenderTableSection.cpp:
33304        (WebCore::RenderTableSection::addChild):
33305
333062011-01-03  Dan Bernstein  <mitz@apple.com>
33307
33308        Reviewed by Simon Fraser.
33309
33310        Shrink HTMLTableCellElement
33311        https://bugs.webkit.org/show_bug.cgi?id=51858
33312
33313        * html/HTMLTableCellElement.cpp:
33314        (WebCore::HTMLTableCellElement::HTMLTableCellElement): Removed intialization of m_row and
33315        m_col.
33316        * html/HTMLTableCellElement.h: Removed m_row and m_col and their accessors.
33317
333182011-01-03  Darin Adler  <darin@apple.com>
33319
33320        Fix build.
33321
33322        * platform/network/FormData.cpp:
33323        (WebCore::FormData::create): Roll back uint8_t change.
33324        (WebCore::FormData::flatten): Ditto.
33325        (WebCore::FormData::flattenToString): Ditto.
33326        (WebCore::encode): Ditto.
33327        (WebCore::decode): Ditto.
33328        (WebCore::FormData::encodeForBackForward):
33329        * platform/network/FormData.h: Ditto.
33330        * platform/network/mac/FormDataStreamMac.mm:
33331        (WebCore::advanceCurrentStream): Ditto.
33332
333332011-01-03  Darin Adler  <darin@apple.com>
33334
33335        Reviewed by Brady Eidson.
33336
33337        Add code to encode/decode the back/forward tree
33338        https://bugs.webkit.org/show_bug.cgi?id=51853
33339
33340        * history/HistoryItem.cpp:
33341        (WebCore::HistoryItem::encodeBackForwardTree): Added.
33342        (WebCore::HistoryItem::encodeBackForwardTreeNode): Added.
33343        (WebCore::HistoryItem::decodeBackForwardTree): Added.
33344        * history/HistoryItem.h: Added functions above.
33345
33346        * platform/network/FormData.cpp:
33347        (WebCore::FormData::create): Changed type to Vector<uint8_t> instead of
33348        Vector<char>. This type is used in our newer code for vectors of bytes.
33349        (WebCore::FormData::flatten): Ditto.
33350        (WebCore::FormData::flattenToString): Ditto. Had to add a cast here.
33351        (WebCore::FormData::encodeForBackForward): Added.
33352        (WebCore::FormData::decodeForBackForward): Added.
33353        * platform/network/FormData.h: Changed type to Vector<uint8_t> instead of
33354        Vector<char>. Also made some single-argument constructors explicit.
33355        Also added the new functions.
33356
33357        * platform/network/mac/FormDataStreamMac.mm:
33358        (WebCore::advanceCurrentStream): Changed to use uint8_t to match above.
33359
333602011-01-03  Simon Fraser  <simon.fraser@apple.com>
33361
33362        Attempt to fix GTK build.
33363
33364        * platform/graphics/gtk/FontGtk.cpp:
33365        (WebCore::drawGlyphsShadow):
33366
333672011-01-03  Helder Correia  <helder@sencha.com>
33368
33369        Reviewed by Simon Fraser.
33370
33371        ContextShadow can avoid code duplication for getting the CTM
33372        https://bugs.webkit.org/show_bug.cgi?id=51799
33373
33374        ContextShadow defines its own getTransformationMatrixFromContext()
33375        which does exactly the same as GraphicsContext::getCTM().
33376
33377        Existing tests: fast/canvas/canvas*shadow*html
33378
33379        * platform/graphics/ContextShadow.cpp:
33380        (WebCore::ContextShadow::mustUseContextShadow):
33381        (WebCore::ContextShadow::adjustBlurDistance):
33382        (WebCore::ContextShadow::calculateLayerBoundingRect):
33383        * platform/graphics/ContextShadow.h:
33384        * platform/graphics/cairo/ContextShadowCairo.cpp:
33385        (WebCore::ContextShadow::beginShadowLayer):
33386        (WebCore::ContextShadow::endShadowLayer):
33387        (WebCore::ContextShadow::drawRectShadowWithoutTiling):
33388        * platform/graphics/cairo/FontCairo.cpp:
33389        (WebCore::drawGlyphsShadow):
33390        * platform/graphics/cairo/GraphicsContextCairo.cpp:
33391        (WebCore::drawPathShadow):
33392        * platform/graphics/cairo/ImageCairo.cpp:
33393        (WebCore::BitmapImage::draw):
33394        * platform/graphics/gtk/FontGtk.cpp:
33395        (WebCore::drawGlyphsShadow):
33396        * platform/graphics/qt/ContextShadowQt.cpp:
33397        (WebCore::ContextShadow::beginShadowLayer):
33398        (WebCore::ContextShadow::endShadowLayer):
33399        * platform/graphics/qt/FontQt.cpp:
33400        (WebCore::drawTextCommon):
33401        * platform/graphics/qt/GraphicsContextQt.cpp:
33402        (WebCore::GraphicsContext::fillPath):
33403        (WebCore::GraphicsContext::strokePath):
33404        (WebCore::GraphicsContext::fillRect):
33405        (WebCore::GraphicsContext::fillRoundedRect):
33406        * platform/graphics/qt/ImageQt.cpp:
33407        (WebCore::BitmapImage::draw):
33408        * platform/graphics/qt/StillImageQt.cpp:
33409        (WebCore::StillImage::draw):
33410
334112011-01-03  Darin Adler  <darin@apple.com>
33412
33413        Reviewed by Dan Bernstein.
33414
33415        InsertTextCommand::m_charactersAdded is unused
33416        https://bugs.webkit.org/show_bug.cgi?id=51849
33417
33418        * editing/InsertTextCommand.cpp:
33419        (WebCore::InsertTextCommand::InsertTextCommand): Don't initialize m_charactersAdded.
33420        (WebCore::InsertTextCommand::input): Don't update m_charactersAdded.
33421        * editing/InsertTextCommand.h: Removed charactersAdded function and
33422        m_charactersAdded data member.
33423
334242011-01-03  Carlos Garcia Campos  <cgarcia@igalia.com>
33425
33426        Reviewed by Martin Robinson.
33427
33428        [GTK] Move paintMenuListButton() to RenderThemeGtk.cpp
33429        https://bugs.webkit.org/show_bug.cgi?id=51832
33430
33431        Method paintMenuListButton() contains code common to both gtk 2
33432        and 3, so it can be moved to RenderThemeGtk.cpp instead of
33433        duplicating it.
33434
33435        * platform/gtk/RenderThemeGtk.cpp:
33436        (WebCore::RenderThemeGtk::paintMenuListButton):
33437        * platform/gtk/RenderThemeGtk2.cpp:
33438        * platform/gtk/RenderThemeGtk3.cpp:
33439
334402011-01-03  Pratik Solanki  <psolanki@apple.com>
33441
33442        Reviewed by Darin Adler.
33443
33444        https://bugs.webkit.org/show_bug.cgi?id=51850
33445        Put CFNetwork loader code inside USE(CFNETWORK)
33446
33447        Add USE(CFNETWORK) macros around all the cf/mac network files. Also added all CFNetwork
33448        files to the WebCore Xcode project.
33449
33450        * WebCore.xcodeproj/project.pbxproj:
33451        * loader/cf/ResourceLoaderCFNet.cpp:
33452        * loader/mac/ResourceLoaderMac.mm:
33453        * platform/network/cf/AuthenticationCF.cpp:
33454        * platform/network/cf/AuthenticationCF.h:
33455        * platform/network/cf/CookieJarCFNet.cpp:
33456        * platform/network/cf/CookieStorageCFNet.cpp:
33457        * platform/network/cf/CookieStorageCFNet.h:
33458        * platform/network/cf/CredentialStorageCFNet.cpp:
33459        * platform/network/cf/FormDataStreamCFNet.cpp:
33460        * platform/network/cf/FormDataStreamCFNet.h:
33461        * platform/network/cf/LoaderRunLoopCF.cpp:
33462        * platform/network/cf/LoaderRunLoopCF.h:
33463        * platform/network/cf/ResourceError.h:
33464        * platform/network/cf/ResourceHandleCFNet.cpp:
33465        * platform/network/cf/ResourceRequest.h:
33466        * platform/network/cf/ResourceRequestCFNet.cpp:
33467        * platform/network/cf/ResourceRequestCFNet.h:
33468        * platform/network/cf/ResourceResponse.h:
33469        * platform/network/cf/ResourceResponseCFNet.cpp:
33470        * platform/network/mac/AuthenticationMac.h:
33471        * platform/network/mac/AuthenticationMac.mm:
33472        * platform/network/mac/FormDataStreamMac.h:
33473        * platform/network/mac/FormDataStreamMac.mm:
33474        * platform/network/mac/ResourceError.h:
33475        * platform/network/mac/ResourceHandleMac.mm:
33476        * platform/network/mac/ResourceRequest.h:
33477        * platform/network/mac/ResourceRequestMac.mm:
33478        * platform/network/mac/ResourceResponse.h:
33479        * platform/network/mac/ResourceResponseMac.mm:
33480
334812011-01-03  Yi Shen  <yi.4.shen@nokia.com>
33482
33483        Reviewed by Adam Barth.
33484
33485        [Qt] Add SelectAll option to the context menu for the editor
33486        https://bugs.webkit.org/show_bug.cgi?id=50049
33487
33488        Enable SelectAll for the Qt context menu.
33489
33490        * page/ContextMenuController.cpp:
33491        (WebCore::ContextMenuController::populate):
33492        * platform/ContextMenuItem.h:
33493        * platform/LocalizationStrategy.h:
33494        * platform/LocalizedStrings.cpp:
33495        (WebCore::contextMenuItemTagSelectAll):
33496        * platform/LocalizedStrings.h:
33497
334982011-01-03  Dan Bernstein  <mitz@apple.com>
33499
33500        Reviewed by Darin Adler.
33501
33502        Shrink RootInlineBox
33503        https://bugs.webkit.org/show_bug.cgi?id=51847
33504
33505        * rendering/RootInlineBox.cpp:
33506        (WebCore::RootInlineBox::alignBoxesInBlockDirection): Changed to use the baselineType()
33507        accessor.
33508        * rendering/RootInlineBox.h: Rolled m_baselineType into a bitfield. Changed its type to
33509        unsigned because otherwise MSVC treats it as signed.
33510        (WebCore::RootInlineBox::baselineType): Added a cast.
33511
335122011-01-03  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
33513
33514        Reviewed by Martin Robinson.
33515
33516        [GTK] Split webkitprivate.{cpp,h} in more manageable chunks
33517        https://bugs.webkit.org/show_bug.cgi?id=50698
33518
33519        Fix DOM bindings generation to no longer include the now-gone
33520        webkitprivate.h header, including the appropriate replacements
33521        instead.
33522
33523        * bindings/scripts/CodeGeneratorGObject.pm:
33524
335252011-01-03  Brady Eidson  <beidson@apple.com>
33526
33527        Reviewed by Darin Adler.
33528
33529        Add Encode/Decode machinery Darin and I plan to work with for back/forward stuff in WebKit2.
33530
33531        * ForwardingHeaders/wtf/Decoder.h: Added.
33532        * ForwardingHeaders/wtf/Encoder.h: Added.
33533
335342011-01-03  Chris Fleizach  <cfleizach@apple.com>
33535
33536        Reviewed by Darin Adler.
33537
33538        AX: Regression: WebKit no longer auto-scrolls with VoiceOver navigation
33539        https://bugs.webkit.org/show_bug.cgi?id=51833
33540
33541        Make sure the web area returns the contentsSize, not the same size as what is displayed.
33542
33543        Test: platform/mac/accessibility/webarea-size-equals-content-size.html
33544
33545        * accessibility/AccessibilityRenderObject.cpp:
33546        (WebCore::AccessibilityRenderObject::boundingBoxRect):
33547
335482011-01-03  Simon Fraser  <simon.fraser@apple.com>
33549
33550        Fix warning in 32-bit builds.
33551
33552        * css/CSSGradientValue.cpp:
33553        (WebCore::CSSLinearGradientValue::createGradient):
33554
335552011-01-03  Benjamin C Meyer  <bmeyer@rim.com>
33556
33557        Reviewed by Daniel Bates.
33558
33559        In the cmake build system move logic related to ENABLE_NOTIFICATIONS into its own block.
33560        https://bugs.webkit.org/show_bug.cgi?id=51827
33561
33562        * CMakeLists.txt:
33563
335642011-01-03  Dan Bernstein  <mitz@apple.com>
33565
33566        Reviewed by Simon Fraser.
33567
33568        Remove the unused RenderTableCell::m_percentageHeight
33569        https://bugs.webkit.org/show_bug.cgi?id=51837
33570
33571        * rendering/RenderTableCell.cpp:
33572        (WebCore::RenderTableCell::RenderTableCell): Removed initialization of m_percentageHeight.
33573        * rendering/RenderTableCell.h: Removed m_percentageHeight.
33574
335752011-01-03  Simon Fraser  <simon.fraser@apple.com>
33576
33577        Reviewed by David Hyatt.
33578
33579        Implement -webkit-linear-gradient and -webkit-radial-gradient
33580        https://bugs.webkit.org/show_bug.cgi?id=28152
33581
33582        Add support for -webkit-radial-gradients.
33583
33584        Tests: fast/gradients/css3-radial-gradients.html
33585               fast/gradients/css3-radial-gradients2.html
33586
33587        * css/CSSGradientValue.cpp:
33588        (WebCore::blend): Used to blend colors, which is necessary when truncating
33589        the start of radial gradients.
33590        (WebCore::GradientStop): Small struct to aid gradient stop processing.
33591        (WebCore::CSSGradientValue::addStops): Rename 'positions' to 'stops', and store
33592        the color so that we can blend it when truncating radial gradients. Changed
33593        to handle both linear and radial gradients.
33594        (WebCore::CSSRadialGradientValue::cssText): Update to follow the spec.
33595        (WebCore::CSSRadialGradientValue::resolveRadius): Stylistic change.
33596        (WebCore::distanceToClosestCorner): New utility method.
33597        (WebCore::distanceToFarthestCorner): Ditto.
33598        (WebCore::CSSRadialGradientValue::createGradient): New logic to deal with shape and
33599        fill rules.
33600
33601        * css/CSSGradientValue.h:
33602        (WebCore::CSSGradientValue::isLinearGradient): Color-stop processing needs to know what
33603        kind of gradient it's dealing with, so add new isFooGradient methods.
33604        (WebCore::CSSGradientValue::isRadialGradient): Ditto.
33605        (WebCore::CSSLinearGradientValue::isLinearGradient):
33606        (WebCore::CSSRadialGradientValue::setShape): New setters for shape, size etc.
33607        (WebCore::CSSRadialGradientValue::setSizingBehavior):
33608        (WebCore::CSSRadialGradientValue::setEndHorizontalSize):
33609        (WebCore::CSSRadialGradientValue::setEndVerticalSize):
33610        (WebCore::CSSRadialGradientValue::isRadialGradient):
33611
33612        * css/CSSParser.h:
33613        * css/CSSParser.h: Pass a CSSParserValueList* into parseFillPositionXY() and parseFillPosition()
33614        so we can use parseFillPosition() when parsing a gradient function.
33615        * css/CSSParser.cpp:
33616        (WebCore::CSSParser::parseFillPositionXY): Pass in a CSSParserValueList*
33617        (WebCore::CSSParser::parseFillPosition): Ditto
33618        (WebCore::CSSParser::parseFillProperty): Pass m_valueList to parseFillPosition.
33619        (WebCore::CSSParser::parseTransformOriginShorthand): Ditto
33620        (WebCore::CSSParser::parseRadialGradient): Flesh out radial gradient parsing.
33621        (WebCore::CSSParser::parseTransformOrigin): Pass m_valueList to parseFillPosition.
33622        (WebCore::CSSParser::parsePerspectiveOrigin): Ditto
33623
33624        * css/CSSValueKeywords.in: New keywords for radial gradient shape and fill behaviors.
33625
33626        * platform/graphics/Gradient.cpp:
33627        (WebCore::Gradient::Gradient): Pass aspect ratio for elliptical gradients.
33628        * platform/graphics/Gradient.h: Add aspect ratio for elliptical gradients.
33629        (WebCore::Gradient::create):
33630        (WebCore::Gradient::startRadius): Expose radii.
33631        (WebCore::Gradient::endRadius):
33632        (WebCore::Gradient::setStartRadius): Setters are required for when we need to scale color stops.
33633        (WebCore::Gradient::setEndRadius):
33634        (WebCore::Gradient::aspectRatio):
33635        * platform/graphics/cg/GradientCG.cpp:
33636        (WebCore::Gradient::paint): For elliptical gradients, scale the CTM.
33637        * platform/graphics/wince/GraphicsContextWinCE.cpp:
33638        (WebCore::GraphicsContext::fillRect): Use start/endRadius() rather than r0() and r1().
33639
336402011-01-03  Simon Fraser  <simon.fraser@apple.com>
33641
33642        Reviewed by David Hyatt.
33643
33644        Implement -webkit-linear-gradient and -webkit-radial-gradient
33645        https://bugs.webkit.org/show_bug.cgi?id=28152
33646        
33647        Add support for the parsing and rendering of non-repeating CSS3 linear gradients,
33648        according to <http://dev.w3.org/csswg/css3-images/#linear-gradients>.
33649
33650        Tests: fast/gradients/css3-color-stop-units.html
33651               fast/gradients/css3-color-stops.html
33652               fast/gradients/css3-gradient-parsing.html
33653               fast/gradients/css3-linear-angle-gradients.html
33654
33655        * css/CSSGradientValue.h:
33656        Add subclasses of CSSGradientValue for linear and radial gradients.
33657        
33658        * css/CSSGradientValue.cpp:
33659        (WebCore::CSSGradientValue::image): Add FIXME comment about why we can't cache
33660        the gradient sometimes.
33661        (WebCore::compareStops): positions are CSSValues now.
33662        (WebCore::CSSGradientValue::sortStopsIfNeeded): Add assertion that this is only called
33663        for old-style gradients.
33664        (WebCore::CSSGradientValue::addStops): New method that handles the spec rules about
33665        missing positions, ensuring that stop position is ordered, and spacing out stops
33666        without positions. Also normalize gradients which use stops outside the 0-1 range
33667        so that platforms can render them correctly.
33668        (WebCore::positionFromValue): Determin the position on the gradient line for percentage,
33669        number and length values.
33670        (WebCore::CSSGradientValue::computeEndPoint):
33671        (WebCore::CSSLinearGradientValue::cssText):
33672        (WebCore::endPointsFromAngle): Compute endpoints for a gradient which covers the rectangle
33673        given an angle.
33674        (WebCore::CSSLinearGradientValue::createGradient):
33675        (WebCore::CSSRadialGradientValue::cssText):
33676        (WebCore::CSSRadialGradientValue::resolveRadius):
33677        (WebCore::CSSRadialGradientValue::createGradient):
33678
33679        * css/CSSParser.cpp:
33680        (WebCore::CSSParser::parseValue): Style fix.
33681        (WebCore::CSSParser::parseContent): Use isGeneratedImageValue() and parseGeneratedImage()
33682        (WebCore::CSSParser::parseFillImage): Use isGeneratedImageValue() and parseGeneratedImage()
33683        (WebCore::CSSParser::parseBorderImage): Use isGeneratedImageValue() and parseGeneratedImage()
33684        (WebCore::parseDeprecatedGradientPoint): Renamed to indicate that it's only used for -webkit-gradient.
33685        (WebCore::parseDeprecatedGradientColorStop): Renamed to indicate that it's only used for -webkit-gradient,
33686        and fixed to store CSSValues for the stop position.
33687        (WebCore::CSSParser::parseDeprecatedGradient): Renamed to indicate that it's only used for -webkit-gradient,
33688        and create CSSLinearGradientValue and CSSRadialGradientValue as appropriate.
33689        (WebCore::valueFromSideKeyword):
33690        (WebCore::parseGradientColorOrKeyword): Color parsing utility.
33691        (WebCore::CSSParser::parseLinearGradient): New method to parse linear gradients.
33692        (WebCore::CSSParser::parseRadialGradient): Stub for new method to parse radial gradients.
33693        (WebCore::CSSParser::isGeneratedImageValue): Detect gradients and CSS canvas.
33694        (WebCore::CSSParser::parseGeneratedImage): Parser for generated images like gradients
33695        and CSS canvas.
33696        * css/CSSParser.h:
33697        * platform/graphics/Gradient.h:
33698        (WebCore::Gradient::setP0): We need to be able to change the points when normalizing gradients.
33699        (WebCore::Gradient::setP1): Ditto.
33700
337012011-01-03  Noam Rosenthal  <noam.rosenthal@nokia.com>
33702
33703        Reviewed by Andreas Kling.
33704
33705        [Qt] document.getElementById(...) doesn't return the right object in combination with QGraphicsWidget
33706        https://bugs.webkit.org/show_bug.cgi?id=51464
33707
33708        Added a way to bind any QObject created as a plugin to JavaScript, 
33709        by adding a custom member (qtObject) to WebCore::Widget. 
33710        Added a test to tst_qwebpage to make sure plugins created 
33711        as QGraphicsWidget are accessible through JavaScript.
33712
33713        * bindings/js/ScriptControllerQt.cpp:
33714        (WebCore::ScriptController::createScriptInstanceForWidget):
33715        * platform/Widget.h:
33716        * platform/qt/WidgetQt.cpp:
33717        (WebCore::Widget::Widget):
33718        (WebCore::Widget::setBindingObject):
33719        (WebCore::Widget::bindingObject):
33720
337212011-01-03  David Hyatt  <hyatt@apple.com>
33722
33723        Reviewed by Simon Fraser.
33724
33725        https://bugs.webkit.org/show_bug.cgi?id=51328
33726
33727        Printing on a page with body { height: 100% } clips out the overflow contents.  This happened
33728        because the computePageRects function was never correct.  It was using the layer's width and height
33729        for the document's width and height, and the layer no longer includes overflow in its width and
33730        height.  It was also incorrectly assuming the first page would begin at (0,0), and this is an invalid
33731        assumption in RTL or vertical text environments.
33732
33733        Added printing/page-count-percentage-height.html
33734
33735        * page/PrintContext.cpp:
33736        (WebCore::PrintContext::computePageRects):
33737        (WebCore::PrintContext::computePageRectsWithPageSizeInternal):
33738
337392011-01-03  Csaba Osztrogonác  <ossy@webkit.org>
33740
33741        [Qt] Unreviewed buildfix for --minimal build after r74895.
33742
33743        * html/InputType.cpp: Missing include added.
33744        * html/NumberInputType.cpp: Missing include added.
33745
337462011-01-02  Darin Adler  <darin@apple.com>
33747
33748        Reviewed by Kent Tamura.
33749
33750        Eliminate HTMLInputElement::m_deprecatedTypeNumber, other input refactoring and renaming
33751        https://bugs.webkit.org/show_bug.cgi?id=51791
33752
33753        * dom/InputElement.h: Make sanitizeValueForTextField public so it can
33754        be called by InputType.
33755
33756        * html/BaseButtonInputType.cpp:
33757        (WebCore::BaseButtonInputType::accessKeyAction): Added.
33758        (WebCore::BaseButtonInputType::storesValueSeparateFromAttribute): Added.
33759        * html/BaseButtonInputType.h: Ditto.
33760
33761        * html/BaseCheckableInputType.cpp:
33762        (WebCore::BaseCheckableInputType::canSetStringValue): Added.
33763        (WebCore::BaseCheckableInputType::accessKeyAction): Added.
33764        (WebCore::BaseCheckableInputType::fallbackValue): Added.
33765        (WebCore::BaseCheckableInputType::storesValueSeparateFromAttribute): Added.
33766        (WebCore::BaseCheckableInputType::isCheckable): Added.
33767        * html/BaseCheckableInputType.h: Ditto.
33768
33769        * html/BaseDateAndTimeInputType.cpp:
33770        (WebCore::BaseDateAndTimeInputType::hasSpinButton): Added.
33771        * html/BaseDateAndTimeInputType.h: Ditto.
33772
33773        * html/BaseTextInputType.h: Made more functions private.
33774
33775        * html/ButtonInputType.cpp:
33776        (WebCore::ButtonInputType::isTextButton): Added.
33777        * html/ButtonInputType.h: Ditto.
33778
33779        * html/CheckboxInputType.cpp:
33780        (WebCore::CheckboxInputType::willDispatchClick): Added.
33781        (WebCore::CheckboxInputType::didDispatchClick): Added.
33782        (WebCore::CheckboxInputType::isCheckbox): Added.
33783        * html/CheckboxInputType.h: Ditto.
33784
33785        * html/DateTimeInputType.cpp:
33786        (WebCore::DateTimeInputType::scaledStepValueShouldBeInteger): Fixed
33787        typo in name of this function.
33788        * html/DateTimeInputType.h: Ditto.
33789        * html/DateTimeLocalInputType.cpp:
33790        (WebCore::DateTimeLocalInputType::scaledStepValueShouldBeInteger): Ditto.
33791        * html/DateTimeLocalInputType.h: Ditto.
33792
33793        * html/EmailInputType.cpp:
33794        (WebCore::EmailInputType::isEmailField): Added.
33795        * html/EmailInputType.h: Ditto.
33796
33797        * html/FileInputType.cpp:
33798        (WebCore::FileInputType::FileInputType): Added.
33799        (WebCore::FileInputType::canSetStringValue): Added.
33800        (WebCore::FileInputType::canChangeFromAnotherType): Added.
33801        (WebCore::FileInputType::files): Added.
33802        (WebCore::FileInputType::canSetValue): Added.
33803        (WebCore::FileInputType::getTypeSpecificValue): Added.
33804        (WebCore::FileInputType::storesValueSeparateFromAttribute): Added.
33805        (WebCore::FileInputType::setFileList): Added.
33806        (WebCore::FileInputType::isFileUpload): Added.
33807        * html/FileInputType.h: Ditto.
33808
33809        * html/HTMLInputElement.cpp:
33810        (WebCore::HTMLInputElement::HTMLInputElement): Updated for data member
33811        renaming and removal.
33812        (WebCore::HTMLInputElement::isValidValue): Call canSetStringValue
33813        instead of checking specific type numbers.
33814        (WebCore::HTMLInputElement::getAllowedValueStepWithDecimalPlaces):
33815        Use fastGetAttribute and fixed typo in the name of the
33816        scaledStepValueShouldBeInteger function.
33817        (WebCore::HTMLInputElement::isKeyboardFocusable): Call
33818        InputType::isKeyboardFocusable; moved most of the type-specific
33819        logic there.
33820        (WebCore::HTMLInputElement::shouldUseInputMethod): Call
33821        InputType::shouldUseInputMethod; moved the type-specific logic there.
33822        (WebCore::HTMLInputElement::handleBlurEvent): Call
33823        InputType::handleBlurEvent; moved the type-specific logic there.
33824        (WebCore::HTMLInputElement::setType): Tweak the names and types
33825        in this function.
33826        (WebCore::HTMLInputElement::updateType): Removed the code that
33827        set m_deprecatedTypeNumber. Compare types by comparing the value
33828        from formControlType. Removed file-specific logic and instead call
33829        InputType::canChangeFromAnotherType. Streamlined the logic for
33830        activation callbacks.
33831        (WebCore::HTMLInputElement::accessKeyAction): Call
33832        InputType::accessKeyAction; moved the type-specific logic there.
33833        (WebCore::HTMLInputElement::mapToEntry): Call
33834        InputType::shouldRespectHeightAndWidthAttributes and
33835        InputType::shouldRespectAlignAttribute.
33836        (WebCore::HTMLInputElement::parseMappedAttribute): Updated
33837        for name changes and the removal of m_defaultChecked. Changed the
33838        alt attribute logic to be based on the class of the renderer.
33839        Call InputType::srcAttributeChanged and moved the type-specific
33840        logic there. Call shouldRespectAlignAttribute and
33841        shouldRespectHeightAndWidthAttributes rather than having
33842        type-specific logic here. Call minOrMaxAttributeChanged.
33843        (WebCore::HTMLInputElement::rendererIsNeeded): Call
33844        InputType::rendererIsNeeded; moved the type-specific logic there.
33845        (WebCore::HTMLInputElement::attach): Removed the unneeded m_inited
33846        flag, which was redundant with the m_haveType flag. Call
33847        InputType::attach; moved the type-specific logic there.
33848        (WebCore::HTMLInputElement::altText): Use fastGetAttribute.
33849        (WebCore::HTMLInputElement::isSuccessfulSubmitButton): Call
33850        InputType::canBeSuccessfulSubmitButton; moved the type-specific
33851        logic there.
33852        (WebCore::HTMLInputElement::isActivatedSubmit): Updated for
33853        name changes.
33854        (WebCore::HTMLInputElement::setActivatedSubmit): Ditto.
33855        (WebCore::HTMLInputElement::reset): Updated to use
33856        InputType::storesValueSeparateFromAttribute. Also use
33857        hasAttribute(checkedAttr) rather than m_defaultChecked,
33858        since both are the same. Also updated for name change.
33859        (WebCore::HTMLInputElement::setChecked): Updated for name
33860        changes. Also added call to
33861        InputType::shouldSendChangeEventAfterCheckedChanged and
33862        moved the type-specific logic there.
33863        (WebCore::HTMLInputElement::setIndeterminate): Call
33864        isCheckable to see if indeterminate is allowed.
33865        Also updated for name changes.
33866        (WebCore::HTMLInputElement::copyNonAttributeProperties):
33867        Updated for name changes and removed data members.
33868        (WebCore::HTMLInputElement::value): Call
33869        InputType::getTypeSpecificValue and InputType::fallbackValue.
33870        Moved the type-specific logic there.
33871        (WebCore::HTMLInputElement::valueWithDefault): Call
33872        InputType::defaultValue. Moved the type-specific logic there.
33873        (WebCore::HTMLInputElement::setSuggestedValue): Call
33874        InputType::canSetSuggestedValue. Moved the type-specific logic
33875        there.
33876        (WebCore::HTMLInputElement::setValue): Call
33877        InputType::canSetValue. Moved the type-specific logic there.
33878        Clear the file list if it exists rather than checking the
33879        type explicitly. We could probably do that a more elegant way.
33880        (WebCore::HTMLInputElement::placeholder): Use fastGetAttribute.
33881        (WebCore::HTMLInputElement::setValueFromRenderer): Use the
33882        isFileUpload function in the assertion.
33883        (WebCore::HTMLInputElement::setFileListFromRenderer): Put most
33884        of the code from this function into FileInputType::setFileList.
33885        (WebCore::HTMLInputElement::preDispatchEventHandler): Changed
33886        to call InputType::willDispatchClick, which does the type-specific
33887        work. Still need to use a single struct for all types, because
33888        the type of the element could change during the event handling.
33889        (WebCore::HTMLInputElement::postDispatchEventHandler): Changed
33890        to call InputType::didDispatchClick.
33891        (WebCore::HTMLInputElement::defaultValue): Use fastGetAttribute.
33892        (WebCore::HTMLInputElement::accept): Use fastGetAttribute.
33893        (WebCore::HTMLInputElement::alt): Use fastGetAttribute.
33894        (WebCore::HTMLInputElement::src): Use fastGetAttribute.
33895        (WebCore::HTMLInputElement::setAutofilled): Updated for name
33896        changes.
33897        (WebCore::HTMLInputElement::files): Use InputType::files.
33898        (WebCore::HTMLInputElement::isAcceptableValue): Use
33899        InputType::isAcceptableValue.
33900        (WebCore::HTMLInputElement::sanitizeValue): Use
33901        InputType::sanitizeValue.
33902        (WebCore::HTMLInputElement::hasUnacceptableValue): Use
33903        InputType::hasUnacceptableValue.
33904        (WebCore::HTMLInputElement::needsActivationCallback): Use
33905        InputType::shouldResetOnDocumentActivation.
33906        (WebCore::HTMLInputElement::willMoveToNewOwnerDocument): Use
33907        InputType::willMoveToNewOwnerDocument.
33908        (WebCore::HTMLInputElement::dataList): Use
33909        InputType::shouldRespectListAttribute.
33910        (WebCore::HTMLInputElement::selectedOption): Tweaked logic
33911        and naming a bit.
33912        (WebCore::HTMLInputElement::stepUpFromRenderer): Use
33913        fastGetAttribute.
33914        (WebCore::HTMLInputElement::isSpeechEnabled): Use
33915        InputType::shouldRespectSpeechAttribute.
33916        (WebCore::HTMLInputElement::isTextButton): No longer inline.
33917        Calls through to InputType.
33918        (WebCore::HTMLInputElement::isRadioButton): Ditto.
33919        (WebCore::HTMLInputElement::isSearchField): Ditto.
33920        (WebCore::HTMLInputElement::isInputTypeHidden): Ditto.
33921        (WebCore::HTMLInputElement::isPasswordField): Ditto.
33922        (WebCore::HTMLInputElement::isCheckbox): Ditto.
33923        (WebCore::HTMLInputElement::isText): Ditto.
33924        (WebCore::HTMLInputElement::isEmailField): Ditto.
33925        (WebCore::HTMLInputElement::isFileUpload): Ditto.
33926        (WebCore::HTMLInputElement::isImageButton): Ditto.
33927        (WebCore::HTMLInputElement::isNumberField): Ditto.
33928        (WebCore::HTMLInputElement::isSubmitButton): Ditto.
33929        (WebCore::HTMLInputElement::isTelephoneField): Ditto.
33930        (WebCore::HTMLInputElement::isURLField): Ditto.
33931        (WebCore::HTMLInputElement::isEnumeratable): Ditto.
33932        (WebCore::HTMLInputElement::isChecked): No longer inline.
33933        Calls InputType::isCheckable.
33934        (WebCore::HTMLInputElement::hasSpinButton): No longer inline.
33935        Calls through to InputType.
33936        (WebCore::HTMLInputElement::supportsPlaceholder): No longer
33937        inline. Calls isTextType as before, but with no special case
33938        for ISINDEX. That special case was unneeded since it returns
33939        true from isTextType.
33940        (WebCore::HTMLInputElement::checkedRadioButtons): No longer
33941        inline.
33942        (WebCore::HTMLInputElement::handleBeforeTextInsertedEvent):
33943        No longer inline.
33944
33945        * html/HTMLInputElement.h: Removed multiple unneeded includes.
33946        The big one is probably InputType.h, but also HTMLFormElement.h.
33947        Removed unneeded forward declarations. Made many functions
33948        no longer inline since they now need to make virtual function
33949        dispatches. Removed the unneeded defaultChecked and
33950        webkitdirectory functions. Both are handled by HTML attribute
33951        reflection for DOM bindings, and the callers instead can get
33952        at the attribute. Made updateCheckedRadioButtons public so it
33953        can be called by an InputType class. Removed
33954        DeprecatedInputType, InputTypeMap, createTypeMap,
33955        deprecatedInputType, allowsIndeterminate,
33956        respectHeightAndWidthAttrs, storesValueSeparateFromAttribute,
33957        m_imageLoader, m_fileList, m_deprecatedTypeNumber,
33958        m_defaultChecked, and m_inited. Renamed m_checked to
33959        m_isChecked, m_useDefaultChecked to m_reflectsCheckedAttribute,
33960        m_indeterminate tom_isIndeterminate, m_haveType to m_hasType,
33961        m_activeSubmit to m_isActivatedSubmit, and m_autofilled to
33962        m_isAutofilled.
33963        
33964        * html/HiddenInputType.cpp:
33965        (WebCore::HiddenInputType::accessKeyAction): Added.
33966        (WebCore::HiddenInputType::rendererIsNeeded) Added.:
33967        (WebCore::HiddenInputType::storesValueSeparateFromAttribute): Added.
33968        (WebCore::HiddenInputType::isHiddenType): Added.
33969        (WebCore::HiddenInputType::shouldRespectHeightAndWidthAttributes): Added.
33970        * html/HiddenInputType.h: Ditto.
33971
33972        * html/ImageInputType.cpp:
33973        (WebCore::ImageInputType::ImageInputType): Moved out of the header file.
33974        (WebCore::ImageInputType::srcAttributeChanged): Added.
33975        (WebCore::ImageInputType::attach): Added.
33976        (WebCore::ImageInputType::willMoveToNewOwnerDocument): Added.
33977        (WebCore::ImageInputType::shouldRespectAlignAttribute): Added.
33978        (WebCore::ImageInputType::canBeSuccessfulSubmitButton): Added.
33979        (WebCore::ImageInputType::isImageButton): Added.
33980        (WebCore::ImageInputType::isEnumeratable): Added.
33981        (WebCore::ImageInputType::shouldRespectHeightAndWidthAttributes): Added.
33982        * html/ImageInputType.h: Ditto.
33983
33984        * html/InputType.cpp:
33985        (WebCore::InputType::create): Changed argument type to String. There
33986        is no value in taking an AtomicString here.
33987        (WebCore::InputType::scaledStepValueShouldBeInteger): Fixed typo in
33988        this function name.
33989        (WebCore::InputType::canSetStringValue): Added.
33990        (WebCore::InputType::isKeyboardFocusable): Added.
33991        (WebCore::InputType::shouldUseInputMethod): Added.
33992        (WebCore::InputType::handleBlurEvent): Added.
33993        (WebCore::InputType::accessKeyAction): Added.
33994        (WebCore::InputType::attach): Added.
33995        (WebCore::InputType::srcAttributeChanged): Added.
33996        (WebCore::InputType::willMoveToNewOwnerDocument): Added.
33997        (WebCore::InputType::shouldRespectAlignAttribute): Added.
33998        (WebCore::InputType::canChangeFromAnotherType): Added.
33999        (WebCore::InputType::minOrMaxAttributeChanged): Added.
34000        (WebCore::InputType::canBeSuccessfulSubmitButton): Added.
34001        (WebCore::InputType::rendererIsNeeded): Added.
34002        (WebCore::InputType::files): Added.
34003        (WebCore::InputType::getTypeSpecificValue): Added.
34004        (WebCore::InputType::fallbackValue): Added.
34005        (WebCore::InputType::defaultValue): Added.
34006        (WebCore::InputType::canSetSuggestedValue): Added.
34007        (WebCore::InputType::shouldSendChangeEventAfterCheckedChanged): Added.
34008        (WebCore::InputType::storesValueSeparateFromAttribute): Added.
34009        (WebCore::InputType::canSetValue): Added.
34010        (WebCore::InputType::willDispatchClick): Added.
34011        (WebCore::InputType::didDispatchClick): Added.
34012        (WebCore::InputType::isAcceptableValue): Added.
34013        (WebCore::InputType::sanitizeValue): Added.
34014        (WebCore::InputType::hasUnacceptableValue): Added.
34015        (WebCore::InputType::setFileList): Added.
34016        (WebCore::InputType::shouldResetOnDocumentActivation): Added.
34017        (WebCore::InputType::shouldRespectListAttribute): Added.
34018        (WebCore::InputType::shouldRespectSpeechAttribute): Added.
34019        (WebCore::InputType::isTextButton): Added.
34020        (WebCore::InputType::isRadioButton): Added.
34021        (WebCore::InputType::isSearchField): Added.
34022        (WebCore::InputType::isHiddenType): Added.
34023        (WebCore::InputType::isPasswordField): Added.
34024        (WebCore::InputType::isCheckbox): Added.
34025        (WebCore::InputType::isEmailField): Added.
34026        (WebCore::InputType::isFileUpload): Added.
34027        (WebCore::InputType::isImageButton): Added.
34028        (WebCore::InputType::isNumberField): Added.
34029        (WebCore::InputType::isSubmitButton): Added.
34030        (WebCore::InputType::isTelephoneField): Added.
34031        (WebCore::InputType::isURLField): Added.
34032        (WebCore::InputType::isEnumeratable): Added.
34033        (WebCore::InputType::isCheckable): Added.
34034        (WebCore::InputType::hasSpinButton): Added.
34035        (WebCore::InputType::shouldRespectHeightAndWidthAttributes): Added.
34036
34037        * html/InputType.h: Removed unneeded ExceptionCode.h include and
34038        used a typedef instead as we do when we want for forward declare it.
34039        Added includes and forward declarations needed for new functions.
34040        Added ClickHandlingState structure. Changed the argument to create
34041        to a String rather than AtomicString. Added many virtual functions.
34042        
34043        * html/IsIndexInputType.cpp:
34044        (WebCore::IsIndexInputType::shouldRespectListAttribute): Added.
34045        * html/IsIndexInputType.h: Ditto.
34046
34047        * html/NumberInputType.cpp:
34048        (WebCore::NumberInputType::handleBlurEvent): Added.
34049        (WebCore::NumberInputType::isAcceptableValue): Added.
34050        (WebCore::NumberInputType::sanitizeValue): Added.
34051        (WebCore::NumberInputType::hasUnacceptableValue): Added.
34052        (WebCore::NumberInputType::shouldRespectSpeechAttribute): Added.
34053        (WebCore::NumberInputType::isNumberField): Added.
34054        (WebCore::NumberInputType::hasSpinButton): Added.
34055        * html/NumberInputType.h: Ditto.
34056
34057        * html/PasswordInputType.cpp:
34058        (WebCore::PasswordInputType::shouldUseInputMethod): Added.
34059        (WebCore::PasswordInputType::shouldResetOnDocumentActivation): Added.
34060        (WebCore::PasswordInputType::shouldRespectListAttribute): Added.
34061        (WebCore::PasswordInputType::shouldRespectSpeechAttribute): Added.
34062        (WebCore::PasswordInputType::isPasswordField): Added.
34063        * html/PasswordInputType.h: Ditto.
34064
34065        * html/RadioInputType.cpp:
34066        (WebCore::RadioInputType::isKeyboardFocusable): Added.
34067        (WebCore::RadioInputType::attach): Added.
34068        (WebCore::RadioInputType::shouldSendChangeEventAfterCheckedChanged): Added.
34069        (WebCore::RadioInputType::willDispatchClick): Added.
34070        (WebCore::RadioInputType::didDispatchClick): Added.
34071        (WebCore::RadioInputType::isRadioButton): Added.
34072        * html/RadioInputType.h: Ditto.
34073
34074        * html/RangeInputType.cpp:
34075        (WebCore::RangeInputType::accessKeyAction): Added.
34076        (WebCore::RangeInputType::minOrMaxAttributeChanged): Added.
34077        (WebCore::RangeInputType::fallbackValue): Added.
34078        (WebCore::RangeInputType::sanitizeValue): Added.
34079        (WebCore::RangeInputType::shouldRespectListAttribute): Added.
34080        * html/RangeInputType.h: Ditto.
34081
34082        * html/ResetInputType.cpp:
34083        (WebCore::ResetInputType::defaultValue): Added.
34084        (WebCore::ResetInputType::isTextButton): Added.
34085        * html/ResetInputType.h: Ditto.
34086
34087        * html/SearchInputType.cpp:
34088        (WebCore::SearchInputType::shouldRespectSpeechAttribute): Added.
34089        (WebCore::SearchInputType::isSearchField): Added.
34090        * html/SearchInputType.h: Ditto.
34091
34092        * html/SubmitInputType.cpp:
34093        (WebCore::SubmitInputType::canBeSuccessfulSubmitButton): Added.
34094        (WebCore::SubmitInputType::defaultValue): Added.
34095        (WebCore::SubmitInputType::isSubmitButton): Added.
34096        (WebCore::SubmitInputType::isTextButton): Added.
34097        * html/SubmitInputType.h: Ditto.
34098
34099        * html/TelephoneInputType.cpp:
34100        (WebCore::TelephoneInputType::shouldRespectSpeechAttribute): Added.
34101        (WebCore::TelephoneInputType::isTelephoneField): Added.
34102        * html/TelephoneInputType.h: Ditto.
34103
34104        * html/TextFieldInputType.cpp:
34105        (WebCore::TextFieldInputType::shouldUseInputMethod): Added.
34106        (WebCore::TextFieldInputType::sanitizeValue): Added.
34107        (WebCore::TextFieldInputType::shouldRespectListAttribute): Added.
34108        * html/TextFieldInputType.h: Ditto.
34109
34110        * html/TextInputType.cpp:
34111        (WebCore::TextInputType::canSetSuggestedValue): Added.
34112        (WebCore::TextInputType::shouldRespectSpeechAttribute): Added.
34113        * html/TextInputType.h: Ditto.
34114
34115        * html/TimeInputType.cpp:
34116        (WebCore::TimeInputType::scaledStepValueShouldBeInteger): Fixed
34117        typo in the name of this function.
34118        * html/TimeInputType.h: Ditto.
34119
34120        * html/URLInputType.cpp:
34121        (WebCore::URLInputType::isURLField): Added.
34122        * html/URLInputType.h: Ditto.
34123
341242011-01-03  Mihai Parparita  <mihaip@chromium.org>
34125
34126        Unreviewed.
34127
34128        NSScrollView-based scrollbars and ScrollBarTheme-based scrollbars don't look the same
34129        https://bugs.webkit.org/show_bug.cgi?id=51151
34130
34131        Flip switch to use WebThemeEngine for Chromium/Mac scrollbar rendering,
34132        so that it can match Safari's (and thus use the same baselines).
34133
34134        No new tests, should be covered by layout tests (which will need
34135        expectation changes)
34136
34137        * platform/chromium/ScrollbarThemeChromiumMac.mm:
34138
341392011-01-03  Antonio Gomes  <agomes@rim.com>
34140
34141        Unreviewed build fix for WebKit/Gtk+.
34142
34143        RenderThemeGtk::initMediaColors() in RenderThemeGtk2.cpp needs to be
34144        guarded by ENABLE(VIDEO), as it is in its header.
34145
34146        No new tests.
34147
34148        * platform/gtk/RenderThemeGtk2.cpp:
34149
341502011-01-02  Dan Bernstein  <mitz@apple.com>
34151
34152        Rubber-stamped by Simon Fraser.
34153
34154        <rdar://problem/8812159> Update copyright strings
34155
34156        * Info.plist:
34157
341582011-01-02  Dan Bernstein  <mitz@apple.com>
34159
34160        Reviewed by Sam Weinig.
34161
34162        <rdar://problem/8806570> REGRESSION (r73337): Incorrect text match count when a match occurs in a text field
34163        https://bugs.webkit.org/show_bug.cgi?id=51623
34164
34165        * editing/Editor.cpp:
34166        (WebCore::Editor::countMatchesForText): Actually remember the original search range end
34167        container and offset and restore them when needed, instead of using two references to the
34168        same Range.
34169        * manual-tests/find-count-matches-after-text-control.html: Added.
34170
341712011-01-02  Benjamin Poulain  <benjamin.poulain@nokia.com>
34172
34173        Reviewed by Csaba Osztrogonác.
34174
34175        WebKit 2 does not build on 64bits with a recent GCC
34176        https://bugs.webkit.org/show_bug.cgi?id=51754
34177
34178        Use explicitely 64 bits types for the attributes of DatabaseDetails.
34179
34180        * storage/DatabaseDetails.h:
34181        (WebCore::DatabaseDetails::expectedUsage):
34182        (WebCore::DatabaseDetails::currentUsage):
34183
341842011-01-02  Patrick Gansterer  <paroga@webkit.org>
34185
34186        Unreviewed WinCE build fix for r74868.
34187
34188        * platform/graphics/wince/ImageBufferWinCE.cpp:
34189        (WebCore::getImageData):
34190
341912011-01-02  Sheriff Bot  <webkit.review.bot@gmail.com>
34192
34193        Unreviewed, rolling out r74847.
34194        http://trac.webkit.org/changeset/74847
34195        https://bugs.webkit.org/show_bug.cgi?id=51803
34196
34197        "Preprocessor guards should be in header files" (Requested by
34198        ap on #webkit).
34199
34200        * bindings/js/JSDOMWindowBase.cpp:
34201        * dom/Document.cpp:
34202        (WebCore::Document::recalcStyle):
34203        * html/HTMLDocument.cpp:
34204        * loader/FrameLoader.cpp:
34205        * loader/ResourceLoadNotifier.cpp:
34206        * page/Chrome.cpp:
34207        * page/Console.cpp:
34208        * page/ContextMenuController.cpp:
34209        * page/DOMWindow.cpp:
34210        (WebCore::DOMWindow::dispatchEvent):
34211        * page/EventHandler.cpp:
34212        * page/Page.cpp:
34213        * storage/Database.cpp:
34214        * workers/AbstractWorker.cpp:
34215        * workers/DefaultSharedWorkerRepository.cpp:
34216        * workers/SharedWorker.cpp:
34217        * workers/Worker.cpp:
34218        * workers/WorkerContext.cpp:
34219        * workers/WorkerMessagingProxy.cpp:
34220        * xml/XMLHttpRequest.cpp:
34221        (WebCore::XMLHttpRequest::callReadyStateChangeListener):
34222
342232011-01-02  Patrick Gansterer  <paroga@webkit.org>
34224
34225        [CMake] Unreviewed build fix.
34226
34227        * CMakeLists.txt:
34228
342292011-01-02  Dirk Schulze  <krit@webkit.org>
34230
34231        Reviewed by Simon Fraser.
34232
34233        Clarify ImageBuffer and ImageData relationship
34234        https://bugs.webkit.org/show_bug.cgi?id=51297
34235
34236        Remove references to ImageData and CanvasPixelArray from ImageBuffer and SVG filter/masker code,
34237        since this was a layering violation, and replaced it by ByteArray.
34238
34239        No change of functionality, so no new test added.
34240
34241        * html/ImageData.cpp:
34242        (WebCore::ImageData::create):
34243        (WebCore::ImageData::ImageData):
34244        * html/ImageData.h: Added new constructor with ByteArray input.
34245        (WebCore::ImageData::width):
34246        (WebCore::ImageData::height):
34247        (WebCore::ImageData::data):
34248        * html/canvas/CanvasPixelArray.cpp:
34249        (WebCore::CanvasPixelArray::create):
34250        (WebCore::CanvasPixelArray::CanvasPixelArray):
34251        * html/canvas/CanvasPixelArray.h: New conctructor with ByteArray input, used by HTML Canvas.
34252        (WebCore::CanvasPixelArray::data):
34253        (WebCore::CanvasPixelArray::length):
34254        (WebCore::CanvasPixelArray::set):
34255        (WebCore::CanvasPixelArray::get):
34256        * html/canvas/CanvasRenderingContext2D.cpp:
34257        (WebCore::CanvasRenderingContext2D::getImageData):
34258        (WebCore::CanvasRenderingContext2D::putImageData):
34259        * platform/graphics/ImageBuffer.h:
34260        * platform/graphics/cairo/ImageBufferCairo.cpp:
34261        (WebCore::getImageData):
34262        (WebCore::ImageBuffer::getUnmultipliedImageData):
34263        (WebCore::ImageBuffer::getPremultipliedImageData):
34264        (WebCore::putImageData):
34265        (WebCore::ImageBuffer::putUnmultipliedImageData):
34266        (WebCore::ImageBuffer::putPremultipliedImageData):
34267        * platform/graphics/cg/ImageBufferCG.cpp:
34268        (WebCore::getImageData):
34269        (WebCore::ImageBuffer::getUnmultipliedImageData):
34270        (WebCore::ImageBuffer::getPremultipliedImageData):
34271        (WebCore::putImageData):
34272        (WebCore::ImageBuffer::putUnmultipliedImageData):
34273        (WebCore::ImageBuffer::putPremultipliedImageData):
34274        * platform/graphics/filters/FEBlend.cpp:
34275        (WebCore::FEBlend::apply):
34276        * platform/graphics/filters/FEColorMatrix.cpp:
34277        (WebCore::FEColorMatrix::apply):
34278        * platform/graphics/filters/FEComponentTransfer.cpp:
34279        (WebCore::FEComponentTransfer::apply):
34280        * platform/graphics/filters/FEComposite.cpp:
34281        (WebCore::FEComposite::apply):
34282        * platform/graphics/filters/FEConvolveMatrix.cpp:
34283        (WebCore::setDestinationPixels):
34284        (WebCore::FEConvolveMatrix::apply):
34285        * platform/graphics/filters/FEConvolveMatrix.h:
34286        * platform/graphics/filters/FEDisplacementMap.cpp:
34287        (WebCore::FEDisplacementMap::apply):
34288        * platform/graphics/filters/FEGaussianBlur.cpp:
34289        (WebCore::FEGaussianBlur::apply):
34290        * platform/graphics/filters/FELighting.cpp:
34291        (WebCore::FELighting::apply):
34292        * platform/graphics/filters/FEMorphology.cpp:
34293        (WebCore::FEMorphology::apply):
34294        * platform/graphics/filters/FETurbulence.cpp:
34295        (WebCore::FETurbulence::apply):
34296        * platform/graphics/filters/FilterEffect.cpp:
34297        (WebCore::FilterEffect::asImageBuffer):
34298        (WebCore::FilterEffect::asUnmultipliedImage):
34299        (WebCore::FilterEffect::asPremultipliedImage):
34300        (WebCore::FilterEffect::copyImageBytes):
34301        (WebCore::FilterEffect::copyUnmultipliedImage):
34302        (WebCore::FilterEffect::copyPremultipliedImage):
34303        (WebCore::FilterEffect::createUnmultipliedImageResult):
34304        (WebCore::FilterEffect::createPremultipliedImageResult):
34305        * platform/graphics/filters/FilterEffect.h:
34306        * platform/graphics/qt/ImageBufferQt.cpp:
34307        (WebCore::getImageData):
34308        (WebCore::ImageBuffer::getUnmultipliedImageData):
34309        (WebCore::ImageBuffer::getPremultipliedImageData):
34310        (WebCore::putImageData):
34311        (WebCore::ImageBuffer::putUnmultipliedImageData):
34312        (WebCore::ImageBuffer::putPremultipliedImageData):
34313        * platform/graphics/skia/ImageBufferSkia.cpp:
34314        (WebCore::getImageData):
34315        (WebCore::ImageBuffer::getUnmultipliedImageData):
34316        (WebCore::ImageBuffer::getPremultipliedImageData):
34317        (WebCore::putImageData):
34318        (WebCore::ImageBuffer::putUnmultipliedImageData):
34319        (WebCore::ImageBuffer::putPremultipliedImageData):
34320        * platform/graphics/wince/ImageBufferWinCE.cpp:
34321        (WebCore::getImageData):
34322        (WebCore::ImageBuffer::getUnmultipliedImageData):
34323        (WebCore::ImageBuffer::getPremultipliedImageData):
34324        (WebCore::putImageData):
34325        (WebCore::ImageBuffer::putUnmultipliedImageData):
34326        (WebCore::ImageBuffer::putPremultipliedImageData):
34327        * platform/graphics/wx/ImageBufferWx.cpp:
34328        (WebCore::ImageBuffer::getUnmultipliedImageData):
34329        (WebCore::ImageBuffer::getPremultipliedImageData):
34330        (WebCore::ImageBuffer::putUnmultipliedImageData):
34331        (WebCore::ImageBuffer::putPremultipliedImageData):
34332        * rendering/RenderSVGResourceMasker.cpp:
34333        (WebCore::RenderSVGResourceMasker::drawContentIntoMaskImage):
34334
343352011-01-01  Adam Barth  <abarth@webkit.org>
34336
34337        Reviewed by Eric Seidel.
34338
34339        Move JavaScriptCore to Source
34340        https://bugs.webkit.org/show_bug.cgi?id=51604
34341
34342        Update references to JavaScriptCore.
34343
34344        * Android.derived.jscbindings.mk:
34345        * Android.v8bindings.mk:
34346        * CMakeLists.txt:
34347        * WebCore.gyp/WebCore.gyp:
34348        * WebCore.pro:
34349          - These changes are subtle and might not be 100% correct.
34350        * move-js-headers.sh:
34351
343522011-01-01  Adam Barth  <abarth@webkit.org>
34353
34354        Reviewed by Eric Seidel.
34355
34356        forbid sandboxed frames to call top.close() when allow-same-origin is not setted
34357        https://bugs.webkit.org/show_bug.cgi?id=38340
34358
34359        We now pass the ScriptExecutionContext to window.close so it can find
34360        the Frame and check whether navigation is allowed.  This check will
34361        almost always pass because you can only close top-level frames, but the
34362        check will fail when the calling script is sandboxed.
34363
34364        Tests: fast/frames/sandboxed-iframe-close-top-noclose.html
34365               fast/frames/sandboxed-iframe-close-top.html
34366
34367        * page/DOMWindow.cpp:
34368        (WebCore::DOMWindow::close):
34369        * page/DOMWindow.h:
34370        * page/DOMWindow.idl:
34371
343722011-01-01  Adam Barth  <abarth@webkit.org>
34373
34374        Reviewed by Eric Seidel.
34375
34376        sandbox iframes have access to top.history methods
34377        https://bugs.webkit.org/show_bug.cgi?id=38152
34378
34379        To enforce the sandbox restrictions on History, we need to pass the
34380        ScriptExecutionContext to WebCore.  This patch leaves the original
34381        History methods in place because they are used directly by folks who
34382        don't care about security checks.
34383
34384        Test: fast/frames/sandboxed-iframe-history-denied.html
34385
34386        * page/History.cpp:
34387        (WebCore::History::back):
34388        (WebCore::History::forward):
34389        (WebCore::History::go):
34390        * page/History.h:
34391        * page/History.idl:
34392
343932011-01-01  Adam Barth  <abarth@webkit.org>
34394
34395        Remove empty file.
34396
34397        * Android.mk:
34398        * CMakeLists.txt:
34399        * GNUmakefile.am:
34400        * WebCore.gypi:
34401        * WebCore.pro:
34402        * WebCore.vcproj/WebCore.vcproj:
34403        * WebCore.xcodeproj/project.pbxproj:
34404        * dom/DOMAllInOne.cpp:
34405        * dom/Entity.cpp: Removed.
34406
344072011-01-01  Adam Barth  <abarth@webkit.org>
34408
34409        Remove empty file.
34410
34411        * CMakeLists.txt:
34412        * GNUmakefile.am:
34413        * WebCore.pro:
34414        * WebCore.vcproj/WebCore.vcproj:
34415        * WebCore.xcodeproj/project.pbxproj:
34416        * bindings/js/JSBindingsAllInOne.cpp:
34417        * bindings/js/JSPopStateEventCustom.cpp: Removed.
34418
344192011-01-01  Adam Barth  <abarth@webkit.org>
34420
34421        Remove empty files.
34422
34423        * GNUmakefile.am:
34424        * WebCore.gypi:
34425        * WebCore.vcproj/WebCore.vcproj:
34426        * WebCore.xcodeproj/project.pbxproj:
34427        * bindings/generic/BindingFrame.h: Removed.
34428        * bindings/generic/BindingLocation.h: Removed.
34429
344302011-01-01  Konstantin Tokarev  <annulen@yandex.ru>
34431
34432        Reviewed by Darin Adler.
34433
34434        Don't include Inspector headers when Inspector is disabled
34435        https://bugs.webkit.org/show_bug.cgi?id=51789
34436
34437        * bindings/js/JSDOMWindowBase.cpp: Include Inspector headers when
34438        Inspector is enabled
34439        * dom/Document.cpp: Include Inspector headers when
34440        Inspector is enabled
34441        (WebCore::Document::recalcStyle): Disabled InspectorInstrumentationCookie
34442        handling
34443        * html/HTMLDocument.cpp: Include Inspector headers when
34444        Inspector is enabled
34445        * loader/FrameLoader.cpp: Include Inspector headers when
34446        Inspector is enabled
34447        * loader/ResourceLoadNotifier.cpp: Include Inspector headers when
34448        Inspector is enabled
34449        * page/Chrome.cpp: Include Inspector headers when
34450        Inspector is enabled
34451        * page/Console.cpp: Include Inspector headers when
34452        Inspector is enabled
34453        * page/ContextMenuController.cpp: Include Inspector headers when
34454        Inspector is enabled
34455        * page/DOMWindow.cpp: Include Inspector headers when
34456        Inspector is enabled
34457        (WebCore::DOMWindow::dispatchEvent): Disabled InspectorInstrumentationCookie
34458        handling
34459        * page/EventHandler.cpp: Include Inspector headers when
34460        Inspector is enabled
34461        * page/Page.cpp: Include Inspector headers when
34462        Inspector is enabled
34463        * storage/Database.cpp: Include Inspector headers when
34464        Inspector is enabled
34465        * workers/AbstractWorker.cpp: Include Inspector headers when
34466        Inspector is enabled
34467        * workers/DefaultSharedWorkerRepository.cpp: Include Inspector headers when
34468        Inspector is enabled
34469        * workers/SharedWorker.cpp: Include Inspector headers when
34470        Inspector is enabled
34471        * workers/Worker.cpp: Include Inspector headers when
34472        Inspector is enabled
34473        * workers/WorkerContext.cpp: Include Inspector headers when
34474        Inspector is enabled
34475        * workers/WorkerMessagingProxy.cpp: Include Inspector headers when
34476        Inspector is enabled
34477        * xml/XMLHttpRequest.cpp: Include Inspector headers when
34478        Inspector is enabled
34479        (WebCore::XMLHttpRequest::callReadyStateChangeListener): Disabled
34480        InspectorInstrumentationCookie handling
34481
344822010-12-31  Adam Barth  <abarth@webkit.org>
34483
34484        Reviewed by Darin Adler.
34485
34486        fast/loader/about-blank-hash-change.html fails on Chromium
34487        https://bugs.webkit.org/show_bug.cgi?id=51788
34488
34489        I'm unable to reproduce the failure locally, so this patch is slightly
34490        speculative.  We need to be slighly more careful how we compare the
34491        fragment identifiers for Chromium because Chromium uses a URL parser
34492        that is more agressive about canonicalization.
34493
34494        * page/Location.cpp:
34495        (WebCore::Location::setHash):
34496
344972010-12-31  Martin Robinson  <mrobinson@igalia.com>
34498
34499        Reviewed by Xan Lopez.
34500
34501        [GTK] Use GLib/GIO API for FileSystemGtk implementation
34502        https://bugs.webkit.org/show_bug.cgi?id=51617
34503
34504        Complete implementation of FileSystem platform code for GLib. This
34505        converts remaining API points using POSIX calls to platform-independent
34506        GLib calls and fixes other compilation errors.
34507
34508        No new tests. This code will be tested when an implementation
34509        of beginDragWithFiles is complete.
34510
34511        (WebCore::JSDirectoryEntry::getFile):
34512        (WebCore::JSDirectoryEntry::getDirectory):
34513        * platform/FileSystem.h: Added forward declarations for GLib types to
34514        avoid GLib includes and changed the PlatformFileHandle to be a GIOStream.
34515        * platform/gtk/FileSystemGtk.cpp:
34516        (WebCore::openTemporaryFile): Reimplement using only GLib calls.
34517        (WebCore::openFile): Ditto.
34518        (WebCore::closeFile): Ditto.
34519        (WebCore::seekFile): Added implementation.
34520        (WebCore::writeToFile): Reimplement using only GLib calls.
34521        (WebCore::readFromFile): Ditto.
34522
345232010-12-31  Darin Adler  <darin@apple.com>
34524
34525        Reviewed by Dan Bernstein.
34526
34527        Some renaming and refactoring of form element code
34528        https://bugs.webkit.org/show_bug.cgi?id=51784
34529
34530        * bindings/js/JSHTMLSelectElementCustom.cpp:
34531        (WebCore::JSHTMLSelectElement::remove): Call new overload of remove
34532        for option elements instead of putting the logic in the binding.
34533
34534        * html/HTMLButtonElement.cpp:
34535        (WebCore::HTMLButtonElement::HTMLButtonElement): Updated for name changes.
34536        (WebCore::HTMLButtonElement::defaultEventHandler): Renamed argument to
34537        "event" instead of "evt". Also updated for name changes.
34538        (WebCore::HTMLButtonElement::isActivatedSubmit): Ditto.
34539        (WebCore::HTMLButtonElement::setActivatedSubmit): Ditto.
34540        (WebCore::HTMLButtonElement::appendFormData): Ditto.
34541        * html/HTMLButtonElement.h: Renamed m_activeSubmit to m_isActivatedSubmit
34542        to match the getter function name. The name still doesn't seem great.
34543
34544        * html/HTMLFormElement.cpp:
34545        (WebCore::HTMLFormElement::HTMLFormElement): Updated for name changes.
34546        (WebCore::HTMLFormElement::~HTMLFormElement): Use autoComplete function
34547        instead of m_autocomplete data member.
34548        (WebCore::HTMLFormElement::rendererIsNeeded): Use m_wasDemoted data member
34549        instead of otherwise-unused isDemoted function.
34550        (WebCore::HTMLFormElement::submitImplicitly): Updated for name changes.
34551        (WebCore::HTMLFormElement::validateInteractively): Removed code to clear
34552        m_insubmit. This is now handled by the caller, prepareForSubmission.
34553        (WebCore::HTMLFormElement::prepareForSubmission): Renamed. Updated for
34554        name changes. Moved code to clear m_isSubmittingOrPreparingForSubmission
34555        here from validateInteractively. Removed unneeded check of m_doingsubmit
34556        boolean before setting it.
34557        (WebCore::HTMLFormElement::submit): Factored this function into two.
34558        One for JavaScript and one for non-JavaScript. Neither function needs a frame
34559        argument, because the question being asked, anyPageIsProcessingUserGesture,
34560        is a question asked of an entire page group, not a specific frame or page,
34561        so it's not important which is the active frame.
34562        (WebCore::HTMLFormElement::submitFromJavaScript): Ditto.
34563        (WebCore::HTMLFormElement::reset): Updated for name changes.
34564        (WebCore::HTMLFormElement::parseMappedAttribute): Removed code to parse
34565        acceptAttr and got rid of code to set m_autocomplete.
34566        (WebCore::HTMLFormElement::elementForAlias): Changed return type to a raw
34567        pointer.
34568        (WebCore::HTMLFormElement::getNamedElements): Updated to use raw pointer
34569        and the vector find function. Added a FIXME about the comment.
34570        (WebCore::HTMLFormElement::documentDidBecomeActive): Use autoComplete
34571        function instead of m_autocomplete data member.
34572        (WebCore::HTMLFormElement::willMoveToNewOwnerDocument): Ditto.
34573        (WebCore::HTMLFormElement::didMoveToNewOwnerDocument): Ditto.
34574        (WebCore::HTMLFormElement::autoComplete): Ditto.
34575        * html/HTMLFormElement.h: Added a FIXME about renaming the autoComplete
34576        function. Renamed prepareSubmit to prepareForSubmission. Got rid of the
34577        frame argument from the submit function and added a new submitFromJavaScript
34578        variant. Removed the unneeded isDemoted function. Changed the return type
34579        of elementForAlias to a raw pointer. Removed m_autocomplete. Renamed
34580        m_insubmit to m_isSubmittingOrPreparingForSubmission, m_doingsubmit to
34581        m_shouldSubmit, m_inreset to m_inResetFunction, m_malformed to m_wasMalformed,
34582        m_demoted to m_wasDemoted. Use plain bool instead of bitfields.
34583
34584        * html/HTMLFormElement.idl: Use the function named submitFromJavaScript
34585        instead of using CallWith=DynamicFrame because we don't need to know
34586        what frame is calling. If we did, it's not clear that the "dynamic"
34587        frame would be the right one anyway.
34588
34589        * html/HTMLSelectElement.cpp:
34590        (WebCore::HTMLSelectElement::remove): Added an overload that takes an option
34591        element, since the JavaScript binding supports this.
34592        * html/HTMLSelectElement.h: Ditto.
34593
34594        * html/ImageInputType.cpp:
34595        (WebCore::ImageInputType::handleDOMActivateEvent): Updated for name changes.
34596        * html/ImageInputType.h: Ditto.
34597        * html/SubmitInputType.cpp:
34598        (WebCore::SubmitInputType::handleDOMActivateEvent): Ditto.
34599
346002010-12-31  Daniel Bates  <dbates@rim.com>
34601
34602        Reviewed by Darin Adler.
34603
34604        Pass style for <area> instead of associated <img> when querying whether
34605        the theme draws the focus ring for an <area>
34606        https://bugs.webkit.org/show_bug.cgi?id=51632
34607
34608        Fixes an issue where the style for the associated <img> of an <area>
34609        was passed when considering whether the theme should draw a focus ring
34610        for the <area>. Instead, we should pass the theme the style for the <area>.
34611
34612        It's not possible to test this at this time since there are no themes
34613        that override focus ring drawing for <area>s.
34614
34615        * rendering/RenderImage.cpp:
34616        (WebCore::RenderImage::paintFocusRing): Moved call to RenderTheme::supportsFocusRing()
34617        such that it's called with respect to the focused <area>.
34618
346192010-12-31  Darin Adler  <darin@apple.com>
34620
34621        * WebCore.xcodeproj/project.pbxproj: Added back the language.
34622        Developers should be using Xcode 3.2.5 or newer.
34623
346242010-12-31  Adam Barth  <abarth@webkit.org>
34625
34626        Reviewed by Eric Seidel.
34627
34628        Move V8 to WebCore Location implementation
34629        https://bugs.webkit.org/show_bug.cgi?id=51768
34630
34631        * bindings/generic/BindingFrame.h:
34632        * bindings/generic/BindingLocation.h:
34633        * bindings/v8/V8Binding.h:
34634        * bindings/v8/V8DOMWindowShell.cpp:
34635        (WebCore::V8DOMWindowShell::setLocation):
34636        * bindings/v8/V8Utilities.cpp:
34637        * bindings/v8/V8Utilities.h:
34638        * bindings/v8/custom/V8LocationCustom.cpp:
34639        (WebCore::V8Location::hashAccessorSetter):
34640        (WebCore::V8Location::hostAccessorSetter):
34641        (WebCore::V8Location::hostnameAccessorSetter):
34642        (WebCore::V8Location::hrefAccessorSetter):
34643        (WebCore::V8Location::pathnameAccessorSetter):
34644        (WebCore::V8Location::portAccessorSetter):
34645        (WebCore::V8Location::protocolAccessorSetter):
34646        (WebCore::V8Location::searchAccessorSetter):
34647        (WebCore::V8Location::reloadCallback):
34648        (WebCore::V8Location::replaceCallback):
34649        (WebCore::V8Location::assignCallback):
34650
346512010-12-31  Yi Shen  <yi.4.shen@nokia.com>
34652
34653        Reviewed by Eric Seidel.
34654
34655        Make retrieving extraMediaControlsStyleSheet be page dependent.
34656        https://bugs.webkit.org/show_bug.cgi?id=51752
34657
34658        Use themeForPage to retrieve extraMediaControlsStyleSheet for media
34659        controls.
34660
34661        No new tests because no platform-specific theme implementation uses
34662        the passed page pointer yet.
34663
34664        * css/CSSStyleSelector.cpp:
34665        (WebCore::CSSStyleSelector::styleForElement):
34666
346672010-12-31  Ilya Tikhonovsky  <loislo@chromium.org>
34668
34669        Reviewed by Pavel Feldman.
34670
34671        Web Inspector: [REGRESSION] WebInspector.ResourcesPanel.prototype.canShowSourceLine() broken.
34672
34673        https://bugs.webkit.org/show_bug.cgi?id=51709
34674
34675        * inspector/front-end/ResourcesPanel.js:
34676        (WebInspector.ResourcesPanel.prototype.canShowSourceLine):
34677
346782010-12-31  Patrick Gansterer  <paroga@webkit.org>
34679
34680        Unreviewed build fix after r74800.
34681
34682        * bindings/js/JSDOMWindowCustom.cpp: Add missing header.
34683        * bindings/js/JSLocationCustom.cpp: Ditto.
34684
346852010-12-31  Adam Barth  <abarth@webkit.org>
34686
34687        Rubber-stamped by Eric Seidel.
34688
34689        Move HTML and XML parser benchmarks into PerformanceTests/Parser
34690        https://bugs.webkit.org/show_bug.cgi?id=51772
34691
34692        Remove the benchmarks folder now that it's empty.  Future benchmarks
34693        should go in the PerformanceTests directory.
34694
34695        * benchmarks: Removed.
34696        * benchmarks/parser: Removed.
34697        * benchmarks/parser/html-parser.html: Removed.
34698        * benchmarks/parser/resources: Removed.
34699        * benchmarks/parser/resources/html5.html: Removed.
34700        * benchmarks/parser/resources/runner.js: Removed.
34701        * benchmarks/parser/xml-parser.html: Removed.
34702
347032010-12-31  Patrick Gansterer  <paroga@webkit.org>
34704
34705        Reviewed by Adam Barth.
34706
34707        Add XML parser benchmark
34708        https://bugs.webkit.org/show_bug.cgi?id=51612
34709
34710        Move the JavaScript code of html parser into a separate file to share it with xml parser.
34711
34712        * benchmarks/parser/html-parser.html:
34713        * benchmarks/parser/resources/runner.js: Copied from WebCore/benchmarks/parser/html-parser.html.
34714        (runFunction):
34715        (run):
34716        (start):
34717        * benchmarks/parser/xml-parser.html: Copied from WebCore/benchmarks/parser/html-parser.html.
34718
347192010-12-29  Zhenyao Mo  <zmo@google.com>
34720
34721        Reviewed by Kenneth Russell.
34722
34723        Update validation of stencil mask and ref values
34724        https://bugs.webkit.org/show_bug.cgi?id=50716
34725
34726        * html/canvas/WebGLRenderingContext.cpp:
34727        (WebCore::WebGLRenderingContext::initializeNewContext): Initialize cached stencil settings.
34728        (WebCore::WebGLRenderingContext::drawArrays): Validate stencil settings.
34729        (WebCore::WebGLRenderingContext::drawElements): Ditto.
34730        (WebCore::WebGLRenderingContext::stencilFunc): Cache stencil settings, but generate no error.
34731        (WebCore::WebGLRenderingContext::stencilFuncSeparate): Ditto.
34732        (WebCore::WebGLRenderingContext::stencilMask): Ditto.
34733        (WebCore::WebGLRenderingContext::stencilMaskSeparate): Ditto.
34734        (WebCore::WebGLRenderingContext::validateStencilSettings): Helper function to validate stencil settings.
34735        * html/canvas/WebGLRenderingContext.h: Declare stencil setting members.
34736
347372010-12-30  Martin Robinson  <mrobinson@igalia.com>
34738
34739        Reviewed by Xan Lopez.
34740
34741        [GTK] Fork pieces of RenderThemeGtk that will differ for GTK+ 3
34742        https://bugs.webkit.org/show_bug.cgi?id=51755
34743
34744        Split out pieces of RenderThemeGtk into RenderThemeGtk2 and RenderThemeGtk3
34745        if they are going to differ between GTK+ 2.x and GTK+ 3.x. This is the preliminary
34746        step to landing support for the new GTK+ 3.x theming API.
34747
34748        No new tests. This should not change functionality.
34749
34750        * GNUmakefile.am: Add RenderThemeGtk2 and RenderThemeGtk3 to the sources list.
34751        * platform/gtk/RenderThemeGtk.cpp:
34752        (WebCore::RenderThemeGtk::adjustTextFieldStyle): Call the setTextInputBorders static method.
34753        (WebCore::RenderThemeGtk::adjustTextAreaStyle): Ditto.
34754        (WebCore::RenderThemeGtk::paintMediaButton): Ditto.
34755        (WebCore::RenderThemeGtk::adjustProgressBarStyle): ditto.
34756        * platform/gtk/RenderThemeGtk.h: Make setTextInputBorders a method, so that
34757        it can be exist in RenderThemeGtk{2,3} and be called from RenderThemeGtk.
34758        * platform/gtk/RenderThemeGtk2.cpp: Added. A fork of the bits of RenderThemeGtk
34759        that will eventually be platform-dependent.
34760        * platform/gtk/RenderThemeGtk3.cpp: Added. Ditto.
34761
347622010-12-30  Justin Schuh  <jschuh@chromium.org>
34763
34764        Reviewed by James Robinson.
34765
34766        Reverting r74292 because it introduced a crash with ruby text.
34767        https://bugs.webkit.org/show_bug.cgi?id=51637
34768
34769        Test: fast/css/counters/counter-ruby-text-cleared.html
34770
34771        * rendering/RenderCounter.cpp:
34772        (WebCore::findPlaceForCounter):
34773        * rendering/RenderObject.cpp:
34774        (WebCore::RenderObject::addChild):
34775        * rendering/RenderObjectChildList.cpp:
34776        (WebCore::RenderObjectChildList::appendChildNode):
34777        (WebCore::RenderObjectChildList::insertChildNode):
34778
347792010-12-30  Darin Adler  <darin@apple.com>
34780
34781        Reviewed by David Kilzer.
34782
34783        Remove unused JSBinding source files
34784        https://bugs.webkit.org/show_bug.cgi?id=51762
34785
34786        * bindings/js/JSBinding.h: Removed.
34787        * bindings/js/specialization: Removed.
34788        * bindings/js/specialization/JSBindingState.cpp: Removed.
34789        * bindings/js/specialization/JSBindingState.h: Removed.
34790
34791        * CMakeLists.txt: Removed references to files.
34792        * GNUmakefile.am: Ditto.
34793        * WebCore.gypi: Ditto.
34794        * WebCore.pro: Ditto.
34795        * WebCore.vcproj/WebCore.vcproj: Ditto.
34796        * bindings/js/JSBindingsAllInOne.cpp: Ditto.
34797
347982010-12-30  Tony Gentilcore  <tonyg@chromium.org>
34799
34800        Reviewed by Darin Adler.
34801
34802        Remove Document.h include from some headers where it isn't necessary
34803        https://bugs.webkit.org/show_bug.cgi?id=51730
34804
34805        No new tests because no new functionality.
34806
34807        * editing/EditingStyle.cpp:
34808        * editing/EditingStyle.h:
34809        * editing/SelectionController.h:
34810        * editing/visible_units.h:
34811        * html/HTMLAudioElement.h:
34812        * html/HTMLBodyElement.h:
34813        * inspector/InspectorCSSAgent.h:
34814        * inspector/InspectorDOMAgent.h:
34815        * inspector/InspectorInstrumentation.h:
34816        * xml/DOMParser.cpp:
34817        * xml/DOMParser.h:
34818        (WebCore::DOMParser::create):
34819        (WebCore::DOMParser::DOMParser):
34820
348212010-12-30  Benjamin C Meyer  <bmeyer@rim.com>
34822
34823        Reviewed by Darin Adler.
34824
34825        bindings/js/JSDesktopNotificationsCustom.cpp is not included in the cmake build
34826        which is required when NOTIFICATIONS is enabled.
34827
34828        https://bugs.webkit.org/show_bug.cgi?id=51761
34829
34830        * CMakeLists.txt:
34831
348322010-12-30  Antti Koivisto  <antti@apple.com>
34833
34834        Not reviewed.
34835
34836        Revert accidental project file change.
34837
34838        * WebCore.xcodeproj/project.pbxproj:
34839
348402010-12-30  Antti Koivisto  <antti@apple.com>
34841
34842        Reviewed by Darin Adler.
34843
34844        https://bugs.webkit.org/show_bug.cgi?id=51134
34845        Move loading related code from MemoryCache to CachedResourceLoader
34846
34847        - Merge MemoryCache::requestResource to CachedResourceLoader::requestResource
34848        - Merge MemoryCache::requestUserCSSStyleSheet to CachedResourceLoader::requestUserCSSStyleSheet
34849        - Move MemoryCache::revalidateResource to CachedResourceLoader::revalidateResource
34850        - Add MemoryCache::add
34851        - Refactor the decision on whether to reload, revalidate or use the existing resource to 
34852          a single function, CachedResourceLoader::determineRevalidationPolicy
34853
34854        * css/CSSImageValue.cpp:
34855        (WebCore::CSSImageValue::cachedImage):
34856            
34857            Remove a code path that called MemoryCache::requestResource directly. This code path would have crashed
34858            if ever taken (since it passes null CachedResourceLoader pointer).
34859            
34860        * loader/ImageLoader.cpp:
34861        (WebCore::ImageLoader::updateFromElement):
34862        * loader/cache/CachedImage.cpp:
34863        * loader/cache/CachedResource.cpp:
34864        (WebCore::CachedResource::CachedResource):
34865        (WebCore::CachedResource::~CachedResource):
34866        (WebCore::CachedResource::mustRevalidateDueToCacheHeaders):
34867        
34868            Moved tests that were not about cache headers to CachedResourceLoader::determineRevalidationPolicy and renamed.
34869        
34870        (WebCore::CachedResource::setLoadPriority):
34871        
34872            Check for Unresolved value before setting.
34873        
34874        * loader/cache/CachedResource.h:
34875        (WebCore::CachedResource::setOwningCachedResourceLoader):
34876        
34877            Rename to be bit less mysterious.
34878        
34879        * loader/cache/CachedResourceLoader.cpp:
34880        (WebCore::createResource):
34881        
34882            This was moved from MemoryCache.
34883        
34884        (WebCore::CachedResourceLoader::~CachedResourceLoader):
34885        (WebCore::CachedResourceLoader::determineRevalidationPolicy):
34886        (WebCore::CachedResourceLoader::requestUserCSSStyleSheet):
34887        
34888            This was moved/merged from MemoryCache.
34889        
34890        (WebCore::CachedResourceLoader::canRequest):
34891        (WebCore::CachedResourceLoader::requestResource):
34892        
34893            This combines MemoryCache::requestResource and the existing method.
34894        
34895        (WebCore::CachedResourceLoader::revalidateResource):
34896        
34897            This was moved from MemoryCache.
34898        
34899        (WebCore::CachedResourceLoader::loadResource):
34900        
34901            New method for initiating loading.
34902        
34903        (WebCore::CachedResourceLoader::notifyLoadedFromMemoryCache):
34904        
34905            Renamed the mysterious CachedResourceLoader::checkCacheObjectStatus
34906        
34907        * loader/cache/CachedResourceLoader.h:
34908        * loader/cache/MemoryCache.cpp:
34909        (WebCore::MemoryCache::add):
34910        * loader/cache/MemoryCache.h:
34911        (WebCore::MemoryCache::remove):
34912
349132010-12-30  Steve Block  <steveblock@google.com>
34914
34915        Reviewed by Gavin Barraclough.
34916
34917        Enable JSC Rich Source Info for Android even when Inspector and Debugger are disabled
34918        https://bugs.webkit.org/show_bug.cgi?id=51740
34919
34920        This is a policy decision for Android.
34921
34922        No new tests, simply enabling existing, tested code on Android.
34923
34924        * bindings/js/JSDOMWindowBase.cpp:
34925        (WebCore::JSDOMWindowBase::supportsRichSourceInfo):
34926
349272010-12-30  Yael Aharon  <yael.aharon@nokia.com>
34928
34929        Reviewed by Adam Barth.
34930
34931        REGRESSION: fast/dom/cssTarget-crash.html fails
34932        https://bugs.webkit.org/show_bug.cgi?id=20342
34933
34934        Do not reload the page when submitting a form, using "GET" method, and the
34935        form action url matches the location url, except for the fragment.
34936      
34937        Test: fast/forms/submit-change-fragment.html
34938
34939        * loader/FrameLoader.cpp:
34940        (WebCore::FrameLoader::loadURL):
34941        (WebCore::FrameLoader::loadWithDocumentLoader):
34942        (WebCore::FrameLoader::shouldScrollToAnchor):
34943        * loader/FrameLoader.h:
34944
349452010-12-30  Darin Adler  <darin@apple.com>
34946
34947        Reviewed by Adam Barth.
34948
34949        Move security logic out of the JavaScript binding for location into the DOM class
34950        https://bugs.webkit.org/show_bug.cgi?id=51714
34951
34952        * WebCore.xcodeproj/project.pbxproj: Removed JSBindingState.cpp, JSBindingState.h,
34953        and JSBinding.h. Later, we'll remove them from other project files and delete
34954        the source files.
34955
34956        * bindings/js/JSBinding.h: Emptied out, marked for later deletion.
34957
34958        * bindings/js/JSDOMBinding.cpp: Removed unused overload of the jsOwnedStringOrNull
34959        function, unused shouldAllowNavigation function, unused allowSettingSrcToJavascriptURL
34960        function, unused toLexicalFrame function, unused completeURL function, unused
34961        getCachedDOMStructure and cacheDOMStructure overloads, and unused
34962        getCachedDOMConstructor and cacheDOMConstruction functions.
34963        (WebCore::activeDOMWindow): Added.
34964        (WebCore::firstDOMWindow): Added.
34965        (WebCore::toDynamicFrame): Changed to use firstDOMWindow instead of calling through
34966        JSBindingState, since the latter is an unneeded abstraction.
34967        (WebCore::processingUserGesture): Changed to call ScriptController's function
34968        rather than calling through JSBindingState, which is an unneeded abstraction
34969
34970        * bindings/js/JSDOMBinding.h: Removed the functions mentioned above. Added
34971        activeDOMWindow and firstDOMWindow. Also added a FIXME for the extremely poorly
34972        named allowsAccessFromFrame functions, which answer the question of whether
34973        script is allowed access *to* a frame.
34974
34975        * bindings/js/JSDOMWindowCustom.cpp: Removed many unneeded includes.
34976        (WebCore::JSDOMWindow::setLocation): Streamlined by using the new
34977        activeDOMWindow and firstDOMWindow functions.
34978        (WebCore::JSDOMWindow::open): Ditto.
34979        (WebCore::JSDOMWindow::showModalDialog): Ditto.
34980        (WebCore::JSDOMWindow::postMessage): Ditto.
34981
34982        * bindings/js/JSLocationCustom.cpp:
34983        (WebCore::JSLocation::setHref): Changed to pass the active and first windows through
34984        to the Location::setHref function, with it doing the rest of the work. This moves
34985        work out of the DOM binding that belongs in the DOM itself. Eventually such functions
34986        could even be automatically generated by the bindings script.
34987        (WebCore::JSLocation::setProtocol): Ditto.
34988        (WebCore::JSLocation::setHost): Ditto.
34989        (WebCore::JSLocation::setHostname): Ditto.
34990        (WebCore::JSLocation::setPort): Ditto.
34991        (WebCore::JSLocation::setPathname): Ditto.
34992        (WebCore::JSLocation::setSearch): Ditto.
34993        (WebCore::JSLocation::setHash): Ditto.
34994        (WebCore::JSLocation::replace): Ditto.
34995        (WebCore::JSLocation::reload): Ditto.
34996        (WebCore::JSLocation::assign): Ditto.
34997
34998        * bindings/js/specialization/JSBindingState.cpp: Emptied out, marked for later deletion.
34999        * bindings/js/specialization/JSBindingState.h: Emptied out, marked for later deletion.
35000
35001        * page/DOMWindow.cpp:
35002        (WebCore::DOMWindow::setLocation): Added a SetLocationLocking argument that allows us
35003        to use this function for Location::replace, which is the same as setLocation except that
35004        it locks both history and the back/forward list.
35005        * page/DOMWindow.h: Ditto.
35006
35007        * page/Location.cpp:
35008        (WebCore::Location::setHref): Added. Uses DOMWindow::setLocation so that the security
35009        logic there does not have to be repeated or even refactored.
35010        (WebCore::Location::setProtocol): Ditto.
35011        (WebCore::Location::setHost): Ditto.
35012        (WebCore::Location::setHostname): Ditto.
35013        (WebCore::Location::setPort): Ditto.
35014        (WebCore::Location::setPathname): Ditto.
35015        (WebCore::Location::setSearch): Ditto.
35016        (WebCore::Location::setHash): Ditto.
35017        (WebCore::Location::assign): Ditto.
35018        (WebCore::Location::replace): Ditto.
35019        (WebCore::Location::reload): Added. Security logic was refactored from the code in
35020        JSLocationCustom.cpp. Added a FIXME about the fact that this security logic seems
35021        possibly unneeded.
35022
35023        * page/Location.h: Fixed indentation on the whole file. Added the new functions above.
35024        (WebCore::Location::create):
35025        (WebCore::Location::frame):
35026
350272010-12-30  Alexander Pavlov  <apavlov@chromium.org>
35028
35029        Reviewed by Pavel Feldman.
35030
35031        Web Inspector: Pasting a style property with value should automatically split it into prop/value
35032        https://bugs.webkit.org/show_bug.cgi?id=51581
35033
35034        The "paste" DOM event is handled for the CSS property name field to parse out the name and value parts
35035        of a CSS property being pasted (by the first ':' found). The property is committed (if not a new one),
35036        and the edit focus is transferred to the value field.
35037
35038        * inspector/front-end/StylesSidebarPane.js:
35039        (WebInspector.StylePropertyTreeElement.prototype.selectElement):
35040        (WebInspector.StylePropertyTreeElement.prototype):
35041        * inspector/front-end/inspector.js:
35042        (WebInspector.completeURL): Drive-by: return full URLs as-is.
35043        (WebInspector.startEditing.cleanUpAfterEditing):
35044        (WebInspector.startEditing):
35045        (WebInspector.startEditing.pasteEventListener):
35046        (WebInspector.startEditing.keyDownEventListener):
35047
350482010-12-30  Pavel Podivilov  <podivilov@chromium.org>
35049
35050        Reviewed by Pavel Feldman.
35051
35052        Web Inspector: breakpoint is not disabled when clicking on breakpoints sidebar pane checkbox.
35053        https://bugs.webkit.org/show_bug.cgi?id=51745
35054
35055        * inspector/front-end/Breakpoint.js:
35056        (WebInspector.Breakpoint.prototype.set enabled):
35057
350582010-12-30  Pavel Podivilov  <podivilov@chromium.org>
35059
35060        Reviewed by Pavel Feldman.
35061
35062        Web Inspector: call stack shows "Paused on a JavaScript breakpoint" when stepping.
35063        https://bugs.webkit.org/show_bug.cgi?id=51748
35064
35065        * inspector/front-end/CallStackSidebarPane.js:
35066        (WebInspector.CallStackSidebarPane.prototype.update):
35067        (WebInspector.CallStackSidebarPane.prototype.registerShortcuts):
35068        (WebInspector.CallStackSidebarPane.prototype._scriptBreakpointHit):
35069        (WebInspector.CallStackSidebarPane.prototype._nativeBreakpointHit):
35070
350712010-12-30  Mikhail Naganov  <mnaganov@chromium.org>
35072
35073        Reviewed by Pavel Feldman.
35074
35075        Fix leak of MemoryInfo wrappers introduced in r57004 (see issue 51712).
35076
35077        https://bugs.webkit.org/show_bug.cgi?id=51713
35078
35079        * WebCore.gypi:
35080        * WebCore.pro:
35081        * bindings/v8/custom/V8ConsoleCustom.cpp:
35082        (WebCore::V8Console::memoryAccessorGetter):
35083        * bindings/v8/custom/V8PerformanceCustom.cpp: Copied from V8ConsoleCustom.cpp.
35084        (WebCore::V8Performance::memoryAccessorGetter):
35085        * page/Console.idl:
35086        * page/Performance.idl:
35087
350882010-12-30  Steve Block  <steveblock@google.com>
35089
35090        Reviewed by Sam Weinig.
35091
35092        Visiting macnn.com often causes SQL spew via geolocation database
35093        https://bugs.webkit.org/show_bug.cgi?id=51557
35094
35095        If the Geolocation position cache database path has not been set, early-out
35096        rather than using an empty path and thus failing to open the database.
35097        This avoids SQL log spew.
35098
35099        Also, avoid starting the database thread until the path has been set, and
35100        shorten the thread name to avoid warnings due to exceeding 30 characters.
35101
35102        No new tests, implementation clean-up only.
35103
35104        * page/GeolocationPositionCache.cpp:
35105        (WebCore::GeolocationPositionCache::addUser):
35106        (WebCore::GeolocationPositionCache::removeUser):
35107        (WebCore::GeolocationPositionCache::setDatabasePath):
35108        (WebCore::GeolocationPositionCache::startBackgroundThread):
35109
351102010-12-29  Philippe Normand  <pnormand@igalia.com>
35111
35112        Reviewed by Martin Robinson.
35113
35114        [GTK] minimal build fails at link time due to missing sqlite3 symbols
35115        https://bugs.webkit.org/show_bug.cgi?id=51327
35116
35117        Guard the code calling sqlite3 with the ENABLE(DATABASE) check.
35118
35119        No new tests, build fix only.
35120
35121        * platform/sql/SQLiteAuthorizer.cpp:
35122        * platform/sql/SQLiteDatabase.cpp:
35123        * platform/sql/SQLiteFileSystem.cpp:
35124        * platform/sql/SQLiteStatement.cpp:
35125        * platform/sql/SQLiteTransaction.cpp:
35126
351272010-12-30  Justin Schuh  <jschuh@chromium.org>
35128
35129        Reviewed by Dirk Schulze.
35130
35131        Prevent stringToLengthType() from skipping past end-of-string on invalid length unit. 
35132        https://bugs.webkit.org/show_bug.cgi?id=51692
35133
35134        * svg/SVGLength.cpp:
35135        (WebCore::stringToLengthType):
35136        (WebCore::SVGLength::setValueAsString):
35137
351382010-12-30  Abhishek Arya  <inferno@chromium.org>
35139
35140        Reviewed by Eric Seidel.
35141
35142        Create a helper function for finding descendent video elements for a node.
35143        https://bugs.webkit.org/show_bug.cgi?id=51696
35144
35145        Test: media/video-element-other-namespace-crash.html
35146
35147        * html/MediaDocument.cpp:
35148        (WebCore::descendentVideoElement): helper function.
35149        (WebCore::MediaDocument::defaultEventHandler): use the new helper function. fix code repetitions.
35150        (WebCore::MediaDocument::replaceMediaElementTimerFired): use the new helper function.
35151
351522010-12-29  Pavel Feldman  <pfeldman@chromium.org>
35153
35154        Reviewed by Yury Semikhatsky.
35155
35156        Web Inspector: extract Database & DOM Storage agents; remove InspectorBackend.
35157        https://bugs.webkit.org/show_bug.cgi?id=51707
35158
35159        This change brushes up storage agents + removes redundant InspectorBackend class.
35160
35161        * CMakeLists.txt:
35162        * GNUmakefile.am:
35163        * WebCore.gypi:
35164        * WebCore.pro:
35165        * WebCore.vcproj/WebCore.vcproj:
35166        * WebCore.xcodeproj/project.pbxproj:
35167        * inspector/CodeGeneratorInspector.pm:
35168        * inspector/InjectedScriptHost.cpp:
35169        (WebCore::InjectedScriptHost::databaseForId):
35170        (WebCore::InjectedScriptHost::selectDatabase):
35171        (WebCore::InjectedScriptHost::selectDOMStorage):
35172        (WebCore::InjectedScriptHost::inspectorDOMAgent):
35173        * inspector/Inspector.idl:
35174        * inspector/InspectorBackend.cpp: Removed.
35175        * inspector/InspectorBackend.h: Removed.
35176        * inspector/InspectorController.cpp:
35177        (WebCore::InspectorController::InspectorController):
35178        (WebCore::InspectorController::~InspectorController):
35179        (WebCore::InspectorController::connectFrontend):
35180        (WebCore::InspectorController::releaseFrontendLifetimeAgents):
35181        (WebCore::InspectorController::didUseDOMStorage):
35182        (WebCore::InspectorController::setInjectedScriptSource):
35183        (WebCore::InspectorController::dispatchOnInjectedScript):
35184        (WebCore::InspectorController::releaseWrapperObjectGroup):
35185        * inspector/InspectorController.h:
35186        * inspector/InspectorDOMStorageAgent.cpp: Added.
35187        (WebCore::InspectorDOMStorageAgent::~InspectorDOMStorageAgent):
35188        (WebCore::InspectorDOMStorageAgent::getDOMStorageEntries):
35189        (WebCore::InspectorDOMStorageAgent::setDOMStorageItem):
35190        (WebCore::InspectorDOMStorageAgent::removeDOMStorageItem):
35191        (WebCore::InspectorDOMStorageAgent::selectDOMStorage):
35192        (WebCore::InspectorDOMStorageAgent::InspectorDOMStorageAgent):
35193        (WebCore::InspectorDOMStorageAgent::getDOMStorageResourceForId):
35194        * inspector/InspectorDOMStorageAgent.h: Copied from WebCore/inspector/InspectorStorageAgent.h.
35195        (WebCore::InspectorDOMStorageAgent::create):
35196        (WebCore::InspectorDOMStorageAgent::frontend):
35197        * inspector/InspectorDatabaseAgent.cpp: Renamed from WebCore/inspector/InspectorStorageAgent.cpp.
35198        (WebCore::InspectorDatabaseAgent::~InspectorDatabaseAgent):
35199        (WebCore::InspectorDatabaseAgent::getDatabaseTableNames):
35200        (WebCore::InspectorDatabaseAgent::executeSQL):
35201        (WebCore::InspectorDatabaseAgent::databaseForId):
35202        (WebCore::InspectorDatabaseAgent::selectDatabase):
35203        (WebCore::InspectorDatabaseAgent::clearFrontend):
35204        (WebCore::InspectorDatabaseAgent::InspectorDatabaseAgent):
35205        * inspector/InspectorDatabaseAgent.h: Renamed from WebCore/inspector/InspectorStorageAgent.h.
35206        (WebCore::InspectorDatabaseAgent::create):
35207        (WebCore::InspectorDatabaseAgent::frontend):
35208        * inspector/front-end/ScriptsPanel.js:
35209        (WebInspector.ScriptsPanel.prototype.show):
35210        (WebInspector.ScriptsPanel.prototype.attachDebuggerWhenShown):
35211        (WebInspector.ScriptsPanel.prototype._toggleDebugging):
35212
352132010-12-29  Dirk Schulze  <krit@webkit.org>
35214
35215        Reviewed by Darin Adler.
35216
35217        Cleanup SVG code according to the webkit style rules 3
35218        https://bugs.webkit.org/show_bug.cgi?id=51490
35219
35220        Last patch to fix indention and other style issues according to the WebKit style rules in the SVG code.
35221        Just one file can't be fixed for check-webkit-style.
35222        * SVGAllInOne.cpp: check-webkit-style wants a config.h at the beginning
35223
35224        No changes of functionality, so no new tests. 
35225
35226        * svg/SVGAllInOne.cpp:
35227        * svg/SVGImage.cpp:
35228        * svg/SVGLength.cpp:
35229        (WebCore::SVGLength::setValue):
35230        * svg/SVGPolygonElement.h:
35231        * svg/SVGPolylineElement.h:
35232        * svg/SVGPreserveAspectRatio.cpp:
35233        (WebCore::SVGPreserveAspectRatio::parsePreserveAspectRatio):
35234        (WebCore::SVGPreserveAspectRatio::transformRect):
35235        * svg/SVGSVGElement.cpp:
35236        (WebCore::SVGSVGElement::viewport):
35237        * svg/SVGSetElement.h:
35238        * svg/SVGStylable.h:
35239        (WebCore::SVGStylable::~SVGStylable):
35240        * svg/SVGStyledLocatableElement.h:
35241        (WebCore::SVGStyledLocatableElement::localCoordinateSpaceTransform):
35242        (WebCore::SVGStyledLocatableElement::isStyledLocatable):
35243        * svg/SVGStyledTransformableElement.cpp:
35244        (WebCore::SVGStyledTransformableElement::isKnownAttribute):
35245        * svg/SVGSwitchElement.cpp:
35246        (WebCore::SVGSwitchElement::childShouldCreateRenderer):
35247        * svg/SVGTests.cpp:
35248        (WebCore::SVGTests::parseMappedAttribute):
35249        * svg/SVGTextContentElement.cpp:
35250        (WebCore::SVGTextContentElement::isKnownAttribute):
35251        * svg/SVGTextPathElement.cpp:
35252        * svg/SVGTextPathElement.h:
35253        * svg/SVGTitleElement.h:
35254        (WebCore::SVGTitleElement::rendererIsNeeded):
35255        * svg/SVGTransformDistance.cpp:
35256        (WebCore::SVGTransformDistance::SVGTransformDistance):
35257        (WebCore::SVGTransformDistance::scaledDistance):
35258        (WebCore::SVGTransformDistance::addSVGTransforms):
35259        (WebCore::SVGTransformDistance::addSVGTransform):
35260        (WebCore::SVGTransformDistance::addToSVGTransform):
35261        (WebCore::SVGTransformDistance::isZero):
35262        * svg/SVGTransformList.cpp:
35263        * svg/SVGURIReference.cpp:
35264        (WebCore::SVGURIReference::getTarget):
35265        * svg/SVGVKernElement.h:
35266        * svg/SVGViewSpec.cpp:
35267        (WebCore::SVGViewSpec::parseViewSpec):
35268        * svg/SVGZoomAndPan.h:
35269        (WebCore::SVGZoomAndPan::SVGZoomAndPan):
35270        (WebCore::SVGZoomAndPan::~SVGZoomAndPan):
35271        (WebCore::SVGZoomAndPan::zoomAndPan):
35272        * svg/SVGZoomEvent.h:
35273        (WebCore::SVGZoomEvent::create):
35274        * svg/animation/SMILTime.cpp:
35275        (WebCore::operator*):
35276        * svg/animation/SMILTime.h:
35277        (WebCore::SMILTime::SMILTime):
35278        (WebCore::SMILTime::unresolved):
35279        (WebCore::SMILTime::indefinite):
35280        (WebCore::SMILTime::operator=):
35281        (WebCore::SMILTime::value):
35282        (WebCore::SMILTime::isFinite):
35283        (WebCore::SMILTime::isIndefinite):
35284        (WebCore::SMILTime::isUnresolved):
35285        (WebCore::operator==):
35286        (WebCore::operator!): new operator checks for 0 or infinite values.
35287        (WebCore::operator!=):
35288        (WebCore::operator>):
35289        (WebCore::operator<):
35290        (WebCore::operator>=):
35291        (WebCore::operator<=):
35292        * svg/animation/SMILTimeContainer.h:
35293        (WebCore::SMILTimeContainer::create):
35294        (WebCore::SMILTimeContainer::setDocumentOrderIndexesDirty):
35295        * svg/animation/SVGSMILElement.cpp:
35296        (WebCore::ConditionEventListener::operator==):
35297        (WebCore::SVGSMILElement::repeatingDuration):
35298        (WebCore::SVGSMILElement::resolveInterval):
35299        (WebCore::SVGSMILElement::calculateAnimationPercentAndRepeat):
35300        * svg/animation/SVGSMILElement.h:
35301        (WebCore::SVGSMILElement::timeContainer):
35302        (WebCore::SVGSMILElement::intervalBegin):
35303        (WebCore::SVGSMILElement::intervalEnd):
35304        (WebCore::SVGSMILElement::previousIntervalBegin):
35305        (WebCore::SVGSMILElement::documentOrderIndex):
35306        (WebCore::SVGSMILElement::setDocumentOrderIndex):
35307        * svg/graphics/SVGImage.h:
35308        (WebCore::SVGImage::create):
35309        (WebCore::SVGImage::destroyDecodedData):
35310        (WebCore::SVGImage::decodedSize):
35311        (WebCore::SVGImage::frameAtIndex):
35312        * svg/graphics/filters/SVGFilterBuilder.h:
35313        (WebCore::SVGFilterBuilder::create):
35314        (WebCore::SVGFilterBuilder::lastEffect):
35315        (WebCore::SVGFilterBuilder::getEffectReferences):
35316        (WebCore::SVGFilterBuilder::addBuiltinEffects):
35317
353182010-12-29  Abhishek Arya  <inferno@chromium.org>
35319
35320        Reviewed by Darin Adler.
35321
35322        ASSERT(oldchild->parent() == owner) fails.
35323        https://bugs.webkit.org/show_bug.cgi?id=50480
35324
35325        In RenderBlock removeChild function, when the inlineChildrenBlock(equal to prev or next)
35326        is reparented to blockChildrenBlock, it is no longer a child of "this". This causes the
35327        assertion failure when removeChildNode executes on the child(equal to prev or next).
35328        Fix a typo in canMergeContiguousAnonymousBlocks.
35329
35330        Test: fast/multicol/span/double-merge-anonymous-block-crash.html
35331
35332        * rendering/RenderBlock.cpp:
35333        (WebCore::canMergeContiguousAnonymousBlocks): fix typo, change prev to next.
35334        (WebCore::RenderBlock::removeChild): if prev or not is reparented, then set it to zero.
35335
353362010-12-29  Justin Schuh  <jschuh@chromium.org>
35337
35338        Reviewed by Darin Adler.
35339
35340        Check SVG element type in FrameView::scrollToAnchor
35341        https://bugs.webkit.org/show_bug.cgi?id=51718
35342
35343        Test: svg/custom/scroll-to-anchor-in-symbol.svg
35344
35345        * page/FrameView.cpp:
35346        (WebCore::FrameView::scrollToAnchor):
35347
353482010-12-29  Anton Muhin  <antonm@chromium.org>
35349
35350        Reviewed by Eric Seidel.
35351
35352        [v8] Minor cleanup: remove unused method (the only method which can mutate context of V8DOMWindowShell)
35353        https://bugs.webkit.org/show_bug.cgi?id=51704
35354
35355        * bindings/v8/V8DOMWindowShell.cpp:
35356        * bindings/v8/V8DOMWindowShell.h:
35357
353582010-12-29  Kenichi Ishibashi  <bashi@google.com>
35359
35360        Reviewed by Darin Adler.
35361
35362        Use a HashMap for m_continuation to save memory
35363        https://bugs.webkit.org/show_bug.cgi?id=43716
35364
35365        Saving memory consumption by applying a HashMap convention to
35366        continuation pointers of RenderInline and RenderBlock classes.
35367
35368        * rendering/RenderBlock.cpp: Removed m_continuation.
35369        (WebCore::RenderBlock::RenderBlock):
35370        (WebCore::RenderBlock::destroy):
35371        (WebCore::RenderBlock::inlineElementContinuation):
35372        (WebCore::RenderBlock::blockElementContinuation):
35373        * rendering/RenderBlock.h: Removed m_continuation.
35374        * rendering/RenderBoxModelObject.cpp: Added a hash map for continuations.
35375        (WebCore::RenderBoxModelObject::destroy): Added an assertion.
35376        (WebCore::RenderBoxModelObject::continuation): Added.
35377        (WebCore::RenderBoxModelObject::setContinuation): Added.
35378        * rendering/RenderBoxModelObject.h:
35379        * rendering/RenderInline.cpp: Removed m_continuation.
35380        (WebCore::RenderInline::RenderInline):
35381        (WebCore::RenderInline::destroy):
35382        (WebCore::RenderInline::inlineElementContinuation):
35383        * rendering/RenderInline.h: Removed m_continuation.
35384
353852010-12-27  Amruth Raj  <amruthraj@motorola.com> and Ravi Kasibhatla  <ravi.kasibhatla@motorola.com>
35386
35387        Reviewed by Martin Robinson.
35388
35389        [GTK] Enable building whatever already exists of WebKit2
35390        https://bugs.webkit.org/show_bug.cgi?id=37369
35391
35392        No new functionality added or deleted. Only makefile change. Hence, no tests added.
35393
35394        * GNUmakefile.am: Removed bindings/gobject from webcore_sources & webcore_cppflags and
35395        added them to WebKit/gtk/GNUmakefile.am
35396        * platform/network/soup/cache/webkit/soup-cache.h: Remove include <webkit/webkitdefines.h>
35397        and declare WEBKIT_API directly
35398
353992010-12-29  Eric Seidel  <eric@webkit.org>
35400
35401        Unreviewed.
35402
35403        Simplify make-hash-tools.pl
35404        https://bugs.webkit.org/show_bug.cgi?id=49922
35405
35406        Added HashTools.h to the project file now that its not autogenerated.
35407        I also sorted the project file using sort-xcode-project-file
35408
35409        * WebCore.xcodeproj/project.pbxproj:
35410
354112010-12-29  Pavel Feldman  <pfeldman@chromium.org>
35412
35413        Not reviewed: revert r74755 and 74757.
35414
354152010-12-29  Martin Robinson  <mrobinson@igalia.com>
35416
35417        Reviewed by Sam Weinig.
35418
35419        JSDataViewCustom.cpp gives the fastcall calling convention to functions called via C++
35420        https://bugs.webkit.org/show_bug.cgi?id=51722
35421
35422        Remove the JSC_HOST_CALL from methods that are called from C++. JSC_HOST_CALL gives
35423        methods the fastcall calling convention, which leads to runtime errors when they are
35424        called from C++. Also remove a bit of unnecessary code duplication.
35425
35426        No new tests. This is covered by fast/canvas/webgl/data-view-test.html.
35427
35428        * bindings/js/JSDataViewCustom.cpp:
35429        (WebCore::getDataViewMember): Remove duplicated code.
35430        (WebCore::JSDataView::getInt8): Remove JSC_HOST_CALL.
35431        (WebCore::JSDataView::getUint8): Ditto.
35432        (WebCore::JSDataView::getFloat32): Ditto.
35433        (WebCore::JSDataView::getFloat64): Ditto.
35434        (WebCore::setDataViewMember): Remove duplicated code.
35435        (WebCore::JSDataView::setInt8): Remove JSC_HOST_CALL.
35436        (WebCore::JSDataView::setUint8): Ditto.
35437
354382010-12-29  Dan Bernstein  <mitz@apple.com>
35439
35440        Reviewed by Kenneth Russel.
35441
35442        A more robust fix for https://bugs.webkit.org/show_bug.cgi?id=51681
35443
35444        * html/HTMLCanvasElement.cpp:
35445        (WebCore::HTMLCanvasElement::attach): Added. Like recalcStyle(), calls
35446        CanvasRenderingContext2D::updateFont() if necessary. This covers the case of a detach/
35447        attach-type style recalc.
35448        * html/HTMLCanvasElement.h:
35449        * html/canvas/CanvasRenderingContext2D.cpp:
35450        (WebCore::CanvasRenderingContext2D::drawTextInternal): Removed the early return added in
35451        r74716. A font that is loading custom fonts is okay to use, as long as it is valid.
35452        (WebCore::CanvasRenderingContext2D::accessFont): Added a call to
35453        Document::updateStyleIfNeeded(). This ensures that any pending style recalc will take place
35454        and update the font if it is invalid.
35455        * platform/graphics/Font.h:
35456        (WebCore::Font::loadingCustomFonts): Made this private.
35457
354582010-12-29  Pavel Feldman  <pfeldman@chromium.org>
35459
35460        Not reviewed: Qt build fix.
35461
35462        * inspector/InspectorController.cpp:
35463
354642010-12-29  Pavel Feldman  <pfeldman@chromium.org>
35465
35466        Reviewed by Yury Semikhatsky.
35467
35468        Web Inspector: extract Database & DOM Storage
35469        agents; remove InspectorBackend.
35470        https://bugs.webkit.org/show_bug.cgi?id=51707
35471
35472        This change brushes up storage agents + removes redundant
35473        InspectorBackend class.
35474
35475        * CMakeLists.txt:
35476        * GNUmakefile.am:
35477        * WebCore.gypi:
35478        * WebCore.pro:
35479        * WebCore.vcproj/WebCore.vcproj:
35480        * WebCore.xcodeproj/project.pbxproj:
35481        * inspector/CodeGeneratorInspector.pm:
35482        * inspector/InjectedScriptHost.cpp:
35483        (WebCore::InjectedScriptHost::databaseForId):
35484        (WebCore::InjectedScriptHost::selectDatabase):
35485        (WebCore::InjectedScriptHost::selectDOMStorage):
35486        (WebCore::InjectedScriptHost::inspectorDOMAgent):
35487        * inspector/Inspector.idl:
35488        * inspector/InspectorBackend.cpp: Removed.
35489        * inspector/InspectorBackend.h: Removed.
35490        * inspector/InspectorController.cpp:
35491        (WebCore::InspectorController::InspectorController):
35492        (WebCore::InspectorController::~InspectorController):
35493        (WebCore::InspectorController::connectFrontend):
35494        (WebCore::InspectorController::releaseFrontendLifetimeAgents):
35495        (WebCore::InspectorController::didUseDOMStorage):
35496        (WebCore::InspectorController::setInjectedScriptSource):
35497        (WebCore::InspectorController::dispatchOnInjectedScript):
35498        (WebCore::InspectorController::releaseWrapperObjectGroup):
35499        * inspector/InspectorController.h:
35500        * inspector/InspectorDOMStorageAgent.cpp: Added.
35501        (WebCore::InspectorDOMStorageAgent::~InspectorDOMStorageAgent):
35502        (WebCore::InspectorDOMStorageAgent::getDOMStorageEntries):
35503        (WebCore::InspectorDOMStorageAgent::setDOMStorageItem):
35504        (WebCore::InspectorDOMStorageAgent::removeDOMStorageItem):
35505        (WebCore::InspectorDOMStorageAgent::selectDOMStorage):
35506        (WebCore::InspectorDOMStorageAgent::InspectorDOMStorageAgent):
35507        (WebCore::InspectorDOMStorageAgent::getDOMStorageResourceForId):
35508        * inspector/InspectorDOMStorageAgent.h: Copied from WebCore/inspector/InspectorStorageAgent.h.
35509        (WebCore::InspectorDOMStorageAgent::create):
35510        (WebCore::InspectorDOMStorageAgent::frontend):
35511        * inspector/InspectorDatabaseAgent.cpp: Renamed from WebCore/inspector/InspectorStorageAgent.cpp.
35512        (WebCore::InspectorDatabaseAgent::~InspectorDatabaseAgent):
35513        (WebCore::InspectorDatabaseAgent::getDatabaseTableNames):
35514        (WebCore::InspectorDatabaseAgent::executeSQL):
35515        (WebCore::InspectorDatabaseAgent::databaseForId):
35516        (WebCore::InspectorDatabaseAgent::selectDatabase):
35517        (WebCore::InspectorDatabaseAgent::clearFrontend):
35518        (WebCore::InspectorDatabaseAgent::InspectorDatabaseAgent):
35519        * inspector/InspectorDatabaseAgent.h: Renamed from WebCore/inspector/InspectorStorageAgent.h.
35520        (WebCore::InspectorDatabaseAgent::create):
35521        (WebCore::InspectorDatabaseAgent::frontend):
35522        * inspector/InspectorFrontendClientLocal.cpp:
35523        * inspector/InspectorFrontendClientLocal.h:
35524        * inspector/front-end/ScriptsPanel.js:
35525        (WebInspector.ScriptsPanel.prototype.show):
35526
355272010-12-29  Tony Gentilcore  <tonyg@chromium.org>
35528
35529        Reviewed by Eric Seidel.
35530
35531        Assertion failure: element->inDocument() in AsyncScriptRunner::executeScriptSoon()
35532        https://bugs.webkit.org/show_bug.cgi?id=51067
35533
35534        Typically when a script element is removed from the document, the cached script
35535        client is removed. However, during the before load event, the cached script client
35536        hasn't been created yet so it can't be removed.
35537
35538        This patch handles that case by explicitly checking if the script element was
35539        removed during the beforeload event. Also, it avoids caching the Document references
35540        over the arbitrary script execution in the before load event.
35541
35542        Test: fast/dom/HTMLScriptElement/move-in-beforeload.html
35543              fast/dom/HTMLScriptElement/remove-in-beforeload.html
35544
35545        * dom/ScriptElement.cpp:
35546        (WebCore::ScriptElement::requestScript):
35547
355482010-12-29  Alexander Pavlov  <apavlov@chromium.org>
35549
35550        Reviewed by Yury Semikhatsky.
35551
35552        Web Inspector: Element highlight tooltip displays wrong element size when zoomed in
35553        https://bugs.webkit.org/show_bug.cgi?id=51703
35554
35555        * inspector/InspectorController.cpp:
35556        (WebCore::InspectorController::drawElementTitle):
35557
355582010-12-29  Yael Aharon  <yael.aharon@nokia.com>
35559
35560        Reviewed by Kent Tamura.
35561
35562        [HTML5][Forms] Support for :in-range and :out-of-range CSS selectors
35563        https://bugs.webkit.org/show_bug.cgi?id=29071
35564
35565        Use InputType::rangeUnderflow() and InputType::rangeOverflow()
35566        to determine if a control is in-range or out-of-range.
35567
35568        Tests: fast/css/pseudo-in-range-invalid-value.html
35569               fast/css/pseudo-in-range.html
35570               fast/css/pseudo-out-of-range.html
35571
35572        * css/CSSSelector.cpp:
35573        (WebCore::CSSSelector::pseudoId):
35574        (WebCore::nameToPseudoTypeMap):
35575        (WebCore::CSSSelector::extractPseudoType):
35576        * css/CSSSelector.h:
35577        * css/CSSStyleSelector.cpp:
35578        (WebCore::CSSStyleSelector::canShareStyleWithElement):
35579        (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
35580        * dom/Element.h:
35581        (WebCore::Element::isInRange):
35582        (WebCore::Element::isOutOfRange):
35583        * html/BaseDateAndTimeInputType.cpp:
35584        (WebCore::BaseDateAndTimeInputType::supportsRangeLimitation):
35585        * html/BaseDateAndTimeInputType.h:
35586        * html/HTMLInputElement.cpp:
35587        (WebCore::HTMLInputElement::isInRange):
35588        (WebCore::HTMLInputElement::isOutOfRange):
35589        * html/HTMLInputElement.h:
35590        * html/InputType.cpp:
35591        (WebCore::InputType::supportsRangeLimitation):
35592        * html/InputType.h:
35593        * html/NumberInputType.cpp:
35594        (WebCore::NumberInputType::supportsRangeLimitation):
35595        * html/NumberInputType.h:
35596        * html/RangeInputType.cpp:
35597        (WebCore::RangeInputType::supportsRangeLimitation):
35598        * html/RangeInputType.h:
35599
356002010-12-29  Abhishek Arya  <inferno@chromium.org>
35601
35602        Reviewed by Eric Seidel.
35603
35604        When cloning an anonymous block, make sure to set the childrenInline flag based
35605        on the state of the block to be cloned.
35606        https://bugs.webkit.org/show_bug.cgi?id=51489
35607
35608        Test: fast/multicol/span/clone-anonymous-block-non-inline-child-crash.html
35609
35610        * rendering/RenderBlock.cpp:
35611        (WebCore::RenderBlock::clone): add code to handle cloning of anonymous blocks.
35612        (WebCore::RenderBlock::splitBlocks): remove anonymous block creation calls since it is now handled by clone().
35613
356142010-12-29  Patrick Gansterer  <paroga@webkit.org>
35615
35616        Unreviewed build fix for WinCE after r73802.
35617
35618        Reapply parts from r72585:
35619        Port ContextMenuWin.cpp to WinCE
35620        https://bugs.webkit.org/show_bug.cgi?id=48408
35621
35622        * CMakeLists.txt:
35623        * platform/ContextMenu.h:
35624        * platform/win/ContextMenuWin.cpp:
35625        (WebCore::ContextMenu::getContextMenuItems):
35626        (WebCore::ContextMenu::createNativeMenuFromItems):
35627
356282010-12-29  Kent Hansen  <kent.hansen@nokia.com>
35629
35630        Reviewed by Simon Hausmann.
35631
35632        [Qt] Fix compilation with Qt in namespace
35633        https://bugs.webkit.org/show_bug.cgi?id=51701
35634
35635        * platform/graphics/ContextShadow.h:
35636        * platform/graphics/GraphicsContext3D.h:
35637        * platform/network/NetworkingContext.h:
35638        * platform/network/qt/QtNAMThreadSafeProxy.h:
35639        * plugins/PluginView.h:
35640
356412010-12-28  Alexander Pavlov  <apavlov@chromium.org>
35642
35643        Reviewed by Pavel Feldman.
35644
35645        Web Inspector: A disabled style property should get enabled when edited
35646        https://bugs.webkit.org/show_bug.cgi?id=51679
35647
35648        Test: inspector/styles-disable-then-change.html
35649
35650        * inspector/front-end/CSSStyleModel.js:
35651        (WebInspector.CSSProperty.prototype.setText):
35652        (WebInspector.CSSProperty.prototype.setText.callback):
35653
356542010-12-29  Patrick Gansterer  <paroga@webkit.org>
35655
35656        Reviewed by Andreas Kling.
35657
35658        [CMake] Remove WebKitGenerators
35659        https://bugs.webkit.org/show_bug.cgi?id=50445
35660
35661        * CMakeLists.txt: Pass preprocessor to generate-bindings.pl.
35662
356632010-12-28  Pratik Solanki  <psolanki@apple.com>
35664
35665        Reviewed by Eric Seidel.
35666
35667        https://bugs.webkit.org/show_bug.cgi?id=51522
35668        Use deviceRGBColorSpaceRef() instead of calling CGColorSpaceCreateDeviceRGB()
35669
35670        * page/win/FrameCGWin.cpp:
35671        (WebCore::imageFromRect):
35672        * platform/graphics/cg/GradientCG.cpp:
35673        (WebCore::Gradient::platformGradient):
35674        * platform/graphics/cg/GraphicsContext3DCG.cpp:
35675        (WebCore::GraphicsContext3D::paintToCanvas):
35676        * platform/graphics/cg/ImageCG.cpp:
35677        (WebCore::BitmapImage::checkForSolidColor):
35678        * platform/graphics/gstreamer/ImageGStreamerCG.mm:
35679        (ImageGStreamer::ImageGStreamer):
35680        * platform/graphics/win/GraphicsContextCGWin.cpp:
35681        (WebCore::CGContextWithHDC):
35682        (WebCore::GraphicsContext::releaseWindowsContext):
35683        (WebCore::GraphicsContext::drawWindowsBitmap):
35684        * platform/graphics/win/ImageCGWin.cpp:
35685        (WebCore::BitmapImage::create):
35686        (WebCore::BitmapImage::getHBITMAPOfSize):
35687        * platform/image-decoders/cg/ImageDecoderCG.cpp:
35688        (WebCore::createColorSpace):
35689        * platform/win/DragImageCGWin.cpp:
35690        (WebCore::allocImage):
35691        (WebCore::createCgContextFromBitmap):
35692        * rendering/RenderThemeMac.mm:
35693        (WebCore::RenderThemeMac::paintMenuListButtonGradients):
35694        (WebCore::RenderThemeMac::paintSliderTrack):
35695        * rendering/RenderThemeSafari.cpp:
35696        (WebCore::RenderThemeSafari::paintMenuListButtonGradients):
35697        (WebCore::RenderThemeSafari::paintSliderTrack):
35698
356992010-12-28  Daniel Bates  <dbates@rim.com>
35700
35701        Reviewed by Sam Weinig.
35702
35703        Substitute // MARK: for compiler-specific #pragma mark
35704        https://bugs.webkit.org/show_bug.cgi?id=51657
35705
35706        Fix compilation warnings about "#pragma mark" on GTK+ bots by
35707        substituting  "// MARK:" for "#pragma mark", which provides
35708        analogous code-bookmarking functionality under Xcode.
35709
35710        * platform/graphics/cg/PathCG.cpp:
35711        * platform/graphics/mac/WebLayer.mm:
35712
357132010-12-28  Jan Erik Hanssen  <jhanssen@sencha.com>
35714
35715        Reviewed by Eric Seidel.
35716
35717        [Qt] GraphicsContext::getCTM() does not need to make a copy of QPainter::combinedTransform()
35718        https://bugs.webkit.org/show_bug.cgi?id=51687
35719
35720        Use a const reference instead of a copy of QPainter::combinedTransform() 
35721        in GraphicsContext::getCTM()
35722
35723        * platform/graphics/qt/GraphicsContextQt.cpp:
35724        (WebCore::GraphicsContext::getCTM):
35725
357262010-12-28  Takashi Toyoshima  <toyoshim@google.com>
35727
35728        Reviewed by Eric Seidel.
35729
35730        gcc detected 'control reaches end of non-void function' with
35731        -finstrument-functions option.
35732        https://bugs.webkit.org/show_bug.cgi?id=51669
35733
35734        No new tests. These fixes are trivial.
35735
35736        * dom/Element.cpp:
35737        (WebCore::Element::childTypeAllowed):
35738        * inspector/InspectorResourceAgent.cpp:
35739        (WebCore::cachedResourceTypeString):
35740
357412010-12-28  Tony Gentilcore  <tonyg@chromium.org>
35742
35743        Reviewed by Eric Seidel.
35744
35745        Remove unused member of PendingScript
35746        https://bugs.webkit.org/show_bug.cgi?id=51684
35747
35748        This was used when HTMLScriptRunner::runScript created a PendingScript
35749        for inline scripts. But now it just calls executeScript() directly.
35750        External scripts always have the minimum starting line number.
35751
35752        No new tests because no changed functionality.
35753
35754        * dom/PendingScript.cpp:
35755        (WebCore::PendingScript::releaseElementAndClear):
35756        * dom/PendingScript.h:
35757        (WebCore::PendingScript::PendingScript):
35758        (WebCore::PendingScript::operator=):
35759        * html/parser/HTMLScriptRunner.cpp:
35760        (WebCore::HTMLScriptRunner::sourceFromPendingScript):
35761
357622010-12-20  Antonio Gomes  <agomes@rim.com>
35763
35764        Reviewed by Daniel Bates.
35765
35766        Spatial Navigation: code clean up (Part VI)
35767        https://bugs.webkit.org/show_bug.cgi?id=50666
35768
35769        No new tests needed.
35770
35771        * page/FocusController.cpp:
35772        (WebCore::updatFocusCandidateIfNeeded): Assert renderer() and
35773        isElementNode() now that we are bailing out earlier in both the
35774        FocusCandidate constructor and FocusController::findFocusCandidateInContainer().
35775        * page/SpatialNavigation.h: Swapped the parameters order in canScrollInDirection
35776        and virtualRectForAreaElementAndDirection functions.
35777        (WebCore::FocusController::findFocusCandidateInContainer):
35778        (WebCore::FocusController::advanceFocusDirectionallyInContainer): Adjusted callsites
35779        of canScrollInDirection(), and added an early return if !isElementNode().
35780        (WebCore::FocusController::advanceFocusDirectionally): Adjusted callsite of
35781        virtualRectForAreaElementAndDirection();
35782        * page/SpatialNavigation.cpp:
35783        (WebCore::FocusCandidate::FocusCandidate): Assert if node is not a element node;
35784        (WebCore::isScrollableNode): Renamed from isScrollableContainerNode;
35785        (WebCore::scrollInDirection): Adjusted callsite after function name change;
35786        (WebCore::scrollableEnclosingBoxOrParentFrameForNodeInDi:rection): Assert if node is
35787        a documentNode.
35788        (WebCore::canScrollInDirection): Signature changed.
35789        (WebCore::canBeScrolledIntoView): Ditto.
35790        (WebCore::virtualRectForAreaElementAndDirection): Ditto.
35791
357922010-12-28  Adrienne Walker  <enne@google.com>
35793
35794        Reviewed by Kenneth Russell.
35795
35796        [chromium] Fix tiled compositor assertion after GPU process recovery.
35797        https://bugs.webkit.org/show_bug.cgi?id=51682
35798
35799        After the GPU process recovers, the layer size is set to IntSize(),
35800        but IntRect::unite() has a special case for empty rects.  This
35801        behavior was causing the layer size to be too small, causing an
35802        out-of-bounds array access elsewhere.
35803
35804        No new tests.
35805
35806        * platform/graphics/chromium/LayerTilerChromium.cpp:
35807        (WebCore::LayerTilerChromium::growLayerToContain):
35808
358092010-12-23  Zhenyao Mo  <zmo@google.com>
35810
35811        Reviewed by Kenneth Russell.
35812
35813        Initialize to 0 for undefined values in CopyTexImage2D
35814        https://bugs.webkit.org/show_bug.cgi?id=51421
35815
35816        * html/canvas/WebGLFramebuffer.cpp: Track width/height/internalFormat of color buffer.
35817        (WebCore::WebGLFramebuffer::WebGLFramebuffer):
35818        (WebCore::WebGLFramebuffer::setAttachment):
35819        (WebCore::WebGLFramebuffer::getWidth):
35820        (WebCore::WebGLFramebuffer::getHeight):
35821        (WebCore::WebGLFramebuffer::getColorBufferFormat):
35822        * html/canvas/WebGLFramebuffer.h:
35823        * html/canvas/WebGLRenderingContext.cpp:
35824        (WebCore::WebGLRenderingContext::copyTexImage2D): Initialize undefined pixels to 0.
35825        (WebCore::WebGLRenderingContext::copyTexSubImage2D):
35826        (WebCore::WebGLRenderingContext::framebufferTexture2D):
35827        (WebCore::WebGLRenderingContext::renderbufferStorage):
35828        (WebCore::WebGLRenderingContext::getBoundFramebufferWidth):
35829        (WebCore::WebGLRenderingContext::getBoundFramebufferHeight):
35830        * html/canvas/WebGLRenderingContext.h:
35831        * html/canvas/WebGLTexture.cpp: Track width/height/internalFormat of a texture by target/level.
35832        (WebCore::WebGLTexture::getInternalFormat):
35833        (WebCore::WebGLTexture::getWidth):
35834        (WebCore::WebGLTexture::getHeight):
35835        (WebCore::WebGLTexture::mapTargetToIndex):
35836        (WebCore::WebGLTexture::getLevelInfo):
35837        * html/canvas/WebGLTexture.h:
35838        (WebCore::WebGLTexture::isTexture):
35839        * platform/graphics/GraphicsContext3D.h: Add getInternalFramebufferSize() function.
35840        * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
35841        (WebCore::GraphicsContext3D::getInternalFramebufferSize):
35842        * platform/graphics/qt/GraphicsContext3DQt.cpp:
35843        (WebCore::GraphicsContext3D::getInternalFramebufferSize):
35844
358452010-12-23  Zhenyao Mo  <zmo@google.com>
35846
35847        Reviewed by Kenneth Russell.
35848
35849        Map GLsizei to long instead of unsigned long in WebGLRenderingContext and GraphicsContext3D
35850        https://bugs.webkit.org/show_bug.cgi?id=39855
35851
35852        * html/canvas/WebGLRenderingContext.cpp:
35853        (WebCore::WebGLRenderingContext::copyTexImage2D): Map GLsizei to long.
35854        (WebCore::WebGLRenderingContext::copyTexSubImage2D): Ditto.
35855        (WebCore::WebGLRenderingContext::renderbufferStorage): Ditto.
35856        (WebCore::WebGLRenderingContext::scissor): Ditto.
35857        (WebCore::WebGLRenderingContext::texImage2DBase): Ditto.
35858        (WebCore::WebGLRenderingContext::texImage2D): Ditto.
35859        (WebCore::WebGLRenderingContext::texSubImage2DBase): Ditto.
35860        (WebCore::WebGLRenderingContext::texSubImage2DImpl): Ditto.
35861        (WebCore::WebGLRenderingContext::texSubImage2D): Ditto.
35862        (WebCore::WebGLRenderingContext::viewport): Ditto.
35863        (WebCore::WebGLRenderingContext::validateSize): Check the sizes are non-negative.
35864        * html/canvas/WebGLRenderingContext.h:
35865        * html/canvas/WebGLRenderingContext.idl:
35866
358672010-12-28  Abhishek Arya  <inferno@chromium.org>
35868
35869        Reviewed by Kenneth Russell.
35870
35871        Fix crash with invalid font in m_fontList by not drawing text when a custom font is in the
35872        process of loading.
35873        https://bugs.webkit.org/show_bug.cgi?id=51681
35874
35875        Test: canvas/philip/tests/2d.text-custom-font-load-crash.html
35876
35877        * html/canvas/CanvasRenderingContext2D.cpp:
35878        (WebCore::CanvasRenderingContext2D::drawTextInternal): bail out if a custom font is loading.
35879        * platform/graphics/Font.cpp:
35880        (WebCore::Font::operator==): Replace condition with new function loadingCustomFonts()
35881        (WebCore::Font::drawText): Replace condition with new function loadingCustomFonts()
35882        (WebCore::Font::drawEmphasisMarks): Replace condition with new function loadingCustomFonts()
35883        * platform/graphics/Font.h:
35884        (WebCore::Font::loadingCustomFonts): new function that returns if a custom font is loading.
35885
358862010-12-28  Dimitri Glazkov  <dglazkov@chromium.org>
35887
35888        Reviewed by Eric Seidel.
35889
35890        Combine setShadowRoot and clearShadowRoot into a simpler API
35891        https://bugs.webkit.org/show_bug.cgi?id=50971
35892
35893        No change in behavior, and API is not used yet.
35894
35895        * dom/Element.cpp:
35896        (WebCore::Element::setShadowRoot): Combined clearing and setting of
35897            the shadowRoot, also hooked up with setting and clearing of the
35898            corresponding shadowHost values.
35899        * dom/Element.h: renamed clearShadowRoot to removeShadowRoot and made it
35900            private.
35901        * dom/Node.h: Made shadow host-related functions public so that
35902            Element::setShadowRoot can access setShadowHost. It seems logical
35903            to make shadowHost public as well to keep the defs together.
35904
359052010-12-28  Andrey Kosyakov  <caseq@chromium.org>
35906
35907        Reviewed by Pavel Feldman.
35908
35909        Web Inspector: [Chromium] Expose extension API to select a node in WebInspector
35910        Do not request content for resources with non-numeric identifiers.
35911        https://bugs.webkit.org/show_bug.cgi?id=49727
35912
35913        Test: http/tests/inspector/extensions-resources-redirect.html
35914
35915        * inspector/front-end/NetworkManager.js:
35916        (WebInspector.NetworkManager.prototype._appendRedirect):
35917
359182010-12-28  Ilya Tikhonovsky  <loislo@chromium.org>
35919
35920        Unreviewed build fix for Qt.
35921
35922        ResourceTreeModel.js was added.
35923
35924        * inspector/front-end/WebKit.qrc:
35925
359262010-12-28  Mikhail Naganov  <mnaganov@chromium.org>
35927
35928        Reviewed by Pavel Feldman.
35929
35930        [Chromium] Fix memory leak in Profiles tab concerned with heap profiles views.
35931
35932        https://bugs.webkit.org/show_bug.cgi?id=51680
35933
35934        * inspector/front-end/ProfilesPanel.js:
35935        (WebInspector.ProfilesPanel.prototype._reset):
35936
359372010-12-28  Alexander Pavlov  <apavlov@chromium.org>
35938
35939        Reviewed by Pavel Feldman.
35940
35941        Web Inspector: REGRESSION: Clicking image resource in style sidebar doesn't actually go to resource anymore
35942        https://bugs.webkit.org/show_bug.cgi?id=51663
35943
35944        The base URI is now computed correctly for links from CSS property uri(...) values. Additionally,
35945        optional quotes/apostrophes and spaces are now allowed inside uri(...).
35946
35947        Test: inspector/styles-url-linkify.html
35948
35949        * inspector/front-end/StylesSidebarPane.js:
35950        (WebInspector.StylePropertyTreeElement.prototype.updateTitle.linkifyURL):
35951        (WebInspector.StylePropertyTreeElement.prototype.updateTitle):
35952
359532010-12-21  Ilya Tikhonovsky  <loislo@chromium.org>
35954
35955        Reviewed by Pavel Feldman.
35956
35957        Web Inspector: Protocol cleanup task. Introduce Network, DOMStorage and Database domains.
35958
35959        Domain was changed for Resources, FileSystem etc. related methods.
35960        ResourcesManager was renamed to NetworkManager.
35961        ResourceTreeModel was extracted as separate file.
35962        FileSystem, Database, DOMStorage and ApplicationCache methods were
35963        removed from NetworkManager and added to corresponding classes.
35964
35965        https://bugs.webkit.org/show_bug.cgi?id=51334
35966
35967        * WebCore.gypi:
35968        * WebCore.vcproj/WebCore.vcproj:
35969        * inspector/CodeGeneratorInspector.pm:
35970        * inspector/Inspector.idl:
35971        * inspector/front-end/AuditRules.js:
35972        (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback.selectorsCallback):
35973        * inspector/front-end/CSSStyleModel.js:
35974        (WebInspector.CSSStyleModel.prototype._styleSheetChanged.callback):
35975        (WebInspector.CSSStyleModel.prototype._styleSheetChanged):
35976        * inspector/front-end/ConsoleView.js:
35977        (WebInspector.ConsoleView.prototype.addMessage):
35978        (WebInspector.ConsoleView.prototype.clearMessages):
35979        * inspector/front-end/DOMAgent.js:
35980        (WebInspector.ApplicationCache.updateApplicationCacheStatus):
35981        (WebInspector.ApplicationCache.updateNetworkState):
35982        * inspector/front-end/DOMStorage.js:
35983        (WebInspector.DOMStorage.addDOMStorage):
35984        (WebInspector.DOMStorage.selectDOMStorage):
35985        (WebInspector.DOMStorage.updateDOMStorage):
35986        * inspector/front-end/Database.js:
35987        (WebInspector.Database.prototype.executeSql):
35988        (WebInspector.Database.addDatabase):
35989        (WebInspector.Database.selectDatabase):
35990        (WebInspector.Database.sqlTransactionSucceeded):
35991        (WebInspector.Database.sqlTransactionFailed):
35992        * inspector/front-end/FileSystemView.js:
35993        (WebInspector.FileSystem.didGetFileSystemPath):
35994        (WebInspector.FileSystem.didGetFileSystemError):
35995        (WebInspector.FileSystem.didGetFileSystemDisabled):
35996        * inspector/front-end/NetworkItemView.js:
35997        (WebInspector.NetworkItemView):
35998        * inspector/front-end/NetworkManager.js: Added.
35999        (WebInspector.NetworkManager):
36000        (WebInspector.NetworkManager.prototype._createResource):
36001        (WebInspector.NetworkManager.prototype.identifierForInitialRequest):
36002        (WebInspector.NetworkManager.prototype.willSendRequest):
36003        (WebInspector.NetworkManager.prototype._updateResourceWithRequest):
36004        (WebInspector.NetworkManager.prototype._appendRedirect):
36005        (WebInspector.NetworkManager.prototype.markResourceAsCached):
36006        (WebInspector.NetworkManager.prototype.didReceiveResponse):
36007        (WebInspector.NetworkManager.prototype._updateResourceWithResponse):
36008        (WebInspector.NetworkManager.prototype.didReceiveContentLength):
36009        (WebInspector.NetworkManager.prototype.didFinishLoading):
36010        (WebInspector.NetworkManager.prototype.didFailLoading):
36011        (WebInspector.NetworkManager.prototype.didLoadResourceFromMemoryCache):
36012        (WebInspector.NetworkManager.prototype._updateResourceWithCachedResource):
36013        (WebInspector.NetworkManager.prototype.setInitialContent):
36014        (WebInspector.NetworkManager.prototype.didCommitLoadForFrame):
36015        (WebInspector.NetworkManager.prototype.frameDetachedFromParent):
36016        (WebInspector.NetworkManager.prototype.didCreateWebSocket):
36017        (WebInspector.NetworkManager.prototype.willSendWebSocketHandshakeRequest):
36018        (WebInspector.NetworkManager.prototype.didReceiveWebSocketHandshakeResponse):
36019        (WebInspector.NetworkManager.prototype.didCloseWebSocket):
36020        (WebInspector.NetworkManager.prototype._processCachedResources):
36021        (WebInspector.NetworkManager.prototype._addFramesRecursively):
36022        (WebInspector.NetworkManager.requestContent):
36023        * inspector/front-end/NetworkPanel.js:
36024        (WebInspector.NetworkPanel.prototype.refreshResource):
36025        * inspector/front-end/Resource.js:
36026        (WebInspector.Resource.prototype._innerRequestContent):
36027        * inspector/front-end/ResourceManager.js: Removed.
36028        * inspector/front-end/ResourceTreeModel.js: Added.
36029        (WebInspector.ResourceTreeModel):
36030        (WebInspector.ResourceTreeModel.prototype.addOrUpdateFrame):
36031        (WebInspector.ResourceTreeModel.prototype.didCommitLoadForFrame):
36032        (WebInspector.ResourceTreeModel.prototype.frameDetachedFromParent):
36033        (WebInspector.ResourceTreeModel.prototype._clearChildFramesAndResources):
36034        (WebInspector.ResourceTreeModel.prototype.addResourceToFrame):
36035        (WebInspector.ResourceTreeModel.prototype._clearResources):
36036        (WebInspector.ResourceTreeModel.prototype.forAllResources):
36037        (WebInspector.ResourceTreeModel.prototype.addConsoleMessage):
36038        (WebInspector.ResourceTreeModel.prototype.clearConsoleMessages):
36039        (WebInspector.ResourceTreeModel.prototype._callForFrameResources):
36040        (WebInspector.ResourceTreeModel.prototype.resourceForURL):
36041        (WebInspector.ResourceTreeModel.prototype.bindResourceURL):
36042        (WebInspector.ResourceTreeModel.prototype._unbindResourceURL):
36043        (WebInspector.ResourceTreeModel.createResource):
36044        * inspector/front-end/ResourceView.js:
36045        (WebInspector.ResourceView.createResourceView):
36046        (WebInspector.ResourceView.resourceViewTypeMatchesResource):
36047        (WebInspector.ResourceView.resourceViewForResource):
36048        (WebInspector.ResourceView.recreateResourceView):
36049        (WebInspector.ResourceView.existingResourceViewForResource):
36050        * inspector/front-end/ResourcesPanel.js:
36051        (WebInspector.ResourcesPanel.prototype.canShowSourceLine):
36052        (WebInspector.ResourcesPanel.prototype.showSourceLine):
36053        (WebInspector.ResourcesPanel.prototype.showResource):
36054        (WebInspector.ResourcesPanel.prototype.get searchableViews.callback):
36055        (WebInspector.ResourcesPanel.prototype.get searchableViews):
36056        (WebInspector.FrameResourceTreeElement.prototype._errorsWarningsUpdated):
36057        (WebInspector.FrameResourceTreeElement.prototype._contentChanged):
36058        * inspector/front-end/ScriptsPanel.js:
36059        (WebInspector.ScriptsPanel.prototype._addScript):
36060        (WebInspector.ScriptsPanel.prototype.reset):
36061        (WebInspector.ScriptsPanel.prototype._sourceFrameForResource):
36062        (WebInspector.ScriptsPanel.prototype._showScriptOrResource):
36063        * inspector/front-end/WebKit.qrc:
36064        * inspector/front-end/inspector.html:
36065        * inspector/front-end/inspector.js:
36066        (WebInspector.forAllResources):
36067        (WebInspector.resourceForURL):
36068
360692010-12-27  Helder Correia  <helder@sencha.com>
36070
36071        Reviewed by Ariya Hidayat.
36072
36073        ContextShadow should use AffineTransform instead of TransformationMatrix
36074        https://bugs.webkit.org/show_bug.cgi?id=51661
36075
36076        ContextShadow needs the CTM to make sure shadows are not affected by
36077        transformations when drawing on a canvas. AffineTransform is sufficient
36078        in this case.
36079
36080        Existing tests: fast/canvas/canvas*shadow*html
36081
36082        * platform/graphics/ContextShadow.cpp:
36083        (WebCore::ContextShadow::mustUseContextShadow):
36084        (WebCore::ContextShadow::adjustBlurDistance):
36085        (WebCore::ContextShadow::calculateLayerBoundingRect):
36086        * platform/graphics/ContextShadow.h:
36087        * platform/graphics/cairo/ContextShadowCairo.cpp:
36088        (WebCore::ContextShadow::getTransformationMatrixFromContext):
36089        * platform/graphics/qt/ContextShadowQt.cpp:
36090        (WebCore::ContextShadow::getTransformationMatrixFromContext):
36091
360922010-12-27  Daniel Bates  <dbates@rim.com>
36093
36094        Reviewed by Antonio Gomes.
36095
36096        Clean up: Rename HTMLFrameElementBase::getMarginWidth() and HTMLFrameElementBase::getMarginHeight()
36097        https://bugs.webkit.org/show_bug.cgi?id=51634
36098
36099        Rename HTMLFrameElementBase::getMarginWidth() and HTMLFrameElementBase::getMarginHeight()
36100        to HTMLFrameElementBase::marginWidth() and HTMLFrameElementBase::marginHeight(), respectively.
36101        This will make the names of these getters consistent with the naming convention we use for
36102        getters.
36103
36104        * html/HTMLBodyElement.cpp:
36105        (WebCore::HTMLBodyElement::insertedIntoDocument):
36106        * html/HTMLFrameElementBase.h:
36107        (WebCore::HTMLFrameElementBase::marginWidth): Renamed; Formerly getMarginWidth().
36108        (WebCore::HTMLFrameElementBase::marginHeight): Renamed; Formerly getMarginHeight().
36109        * loader/SubframeLoader.cpp:
36110        (WebCore::SubframeLoader::loadSubframe):
36111        * page/FrameView.cpp:
36112        (WebCore::FrameView::init):
36113        * rendering/RenderEmbeddedObject.cpp:
36114        (WebCore::RenderEmbeddedObject::viewCleared): Also renamed variables marginw and marginh
36115        to marginWidth and marginHeight, respectively. This makes the names of these variables
36116        consistent with the names of similar variables in SubframeLoader::loadSubframe() and FrameView::init().
36117        * rendering/RenderFrame.cpp:
36118        (WebCore::RenderFrame::viewCleared): Ditto.
36119
361202010-12-27  Martin Robinson  <mrobinson@igalia.com>
36121
36122        Reviewed by Daniel Bates.
36123
36124        [GTK] RenderThemeGtk::m_HScale and RenderThemeGtk::m_VScale are not initialized
36125        https://bugs.webkit.org/show_bug.cgi?id=51654
36126
36127        Properly initialize slider members of RenderThemeGtk. This can lead to test crashes
36128        on some debug configurations.
36129
36130        No new tests. This is already covered by current slider tests. It isn't crashing on
36131        the bots, but it does crash locally.
36132
36133        * platform/gtk/RenderThemeGtk.cpp:
36134        (WebCore::RenderThemeGtk::RenderThemeGtk): Properly initialize members.
36135
361362010-12-27  Anton Muhin  <antonm@chromium.org>
36137
36138        Reviewed by David Levin.
36139
36140        [v8] Remove unused methods to protect/unprotect wrappers during garbage collection
36141        https://bugs.webkit.org/show_bug.cgi?id=51648
36142
36143        * bindings/v8/ScriptController.cpp:
36144        * bindings/v8/ScriptController.h:
36145        * bindings/v8/V8GCController.cpp:
36146        (WebCore::V8GCController::gcEpilogue):
36147        * bindings/v8/V8GCController.h:
36148
361492010-12-27  Yury Semikhatsky  <yurys@chromium.org>
36150
36151        Unreviewed. Removed trailing spaces from a localized
36152        string to make it the same as the one used in the code.
36153
36154        * English.lproj/localizedStrings.js:
36155
361562010-12-27  Yael Aharon  <yael.aharon@nokia.com>
36157
36158        Reviewed by Eric Seidel.
36159
36160        Browser is failing 16 baseline test from Selector API Test Suite
36161        https://bugs.webkit.org/show_bug.cgi?id=42968
36162
36163        Throw an exception if there is no argument to querySelector or 
36164        querySelectorAll. This replaces the current behavior of passing the string
36165        "undefined" as the argument.
36166
36167        No new tests, just updating the existing results for 
36168        fast/dom/SelectorAPI/resig-SelectorAPI-test.xhtml.
36169
36170        * dom/Document.idl:
36171        * dom/DocumentFragment.idl:
36172        * dom/Element.idl:
36173
361742010-12-26  MORITA Hajime  <morrita@google.com>
36175
36176        Reviewed by Dan Bernstein.
36177
36178        For box-shadow, non-primary shadows should have specified radii.
36179        https://bugs.webkit.org/show_bug.cgi?id=51386
36180
36181        On paintBoxShadow(), the spread value accidentally accumulated accidentally
36182        during the loop, which should be applied individually for radius of each shadow. 
36183        This change makes the radii for rects computed for each shadow.
36184        
36185        Test: fast/box-shadow/spread-multiple-normal.html
36186
36187        * rendering/RenderBoxModelObject.cpp:
36188        (WebCore::RenderBoxModelObject::paintBoxShadow):
36189
361902010-12-26  Patrick Gansterer  <paroga@webkit.org>
36191
36192        Reviewed by Eric Seidel.
36193
36194        Improve output of HTML parser benchmark
36195        https://bugs.webkit.org/show_bug.cgi?id=51611
36196
36197        Calculate and show median, min and max values.
36198
36199        * benchmarks/parser/html-parser.html:
36200
362012010-12-26  Abhishek Arya  <inferno@chromium.org>
36202
36203        Reviewed by Simon Fraser.
36204
36205        Remove the bad assert in paintPaginatedChildLayer, hitTestPaginatedChildLayer. 
36206        https://bugs.webkit.org/show_bug.cgi?id=48772
36207
36208        Test: fast/multicol/renderer-positioned-assert-crash.html
36209
36210        * rendering/RenderLayer.cpp:
36211        (WebCore::RenderLayer::paintPaginatedChildLayer):
36212        (WebCore::RenderLayer::hitTestPaginatedChildLayer):
36213
362142010-12-25  Peter Rybin  <peter.rybin@gmail.com>
36215
36216        Reviewed by Adam Barth.
36217
36218        Adds currentColumn (and currentLine) to SegmentedString. Switches
36219        HTMLTreeBuilder to HTMLDocumentParser::textPosition when it
36220        needs position for a <script> tag.
36221
36222        SegmentedString should provide column position
36223        https://bugs.webkit.org/show_bug.cgi?id=51311
36224
36225        * html/parser/HTMLDocumentParser.cpp:
36226        (WebCore::HTMLDocumentParser::HTMLDocumentParser):
36227        (WebCore::HTMLDocumentParser::textPosition):
36228        * html/parser/HTMLInputStream.h:
36229        (WebCore::HTMLInputStream::current):
36230        (WebCore::InsertionPointRecord::InsertionPointRecord):
36231        (WebCore::InsertionPointRecord::~InsertionPointRecord):
36232        * html/parser/HTMLTreeBuilder.cpp:
36233        (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
36234        (WebCore::HTMLTreeBuilder::processScriptStartTag):
36235        * html/parser/HTMLTreeBuilder.h:
36236        (WebCore::HTMLTreeBuilder::create):
36237        * platform/text/SegmentedString.cpp:
36238        (WebCore::SegmentedString::operator=):
36239        (WebCore::SegmentedString::numberOfCharactersConsumedSlow):
36240        (WebCore::SegmentedString::advanceSlowCase):
36241        (WebCore::SegmentedString::currentLine):
36242        (WebCore::SegmentedString::currentColumn):
36243        (WebCore::SegmentedString::setCurrentPosition):
36244        * platform/text/SegmentedString.h:
36245        (WebCore::SegmentedString::SegmentedString):
36246        (WebCore::SegmentedString::advancePastNewline):
36247        (WebCore::SegmentedString::advance):
36248        (WebCore::SegmentedString::numberOfCharactersConsumed):
36249
362502010-12-25  Andreas Kling  <kling@webkit.org>
36251
36252        Reviewed by Kenneth Rohde Christiansen.
36253
36254        GraphicsContext: Don't pass StrokeStyle (enum) as const reference
36255        https://bugs.webkit.org/show_bug.cgi?id=51608
36256
36257        * platform/graphics/GraphicsContext.cpp:
36258        (WebCore::GraphicsContext::setStrokeStyle):
36259        (WebCore::GraphicsContext::setPlatformStrokeStyle):
36260        (WebCore::GraphicsContext::adjustLineToPixelBoundaries):
36261        * platform/graphics/GraphicsContext.h:
36262        * platform/graphics/cairo/GraphicsContextCairo.cpp:
36263        (WebCore::GraphicsContext::setPlatformStrokeStyle):
36264        * platform/graphics/haiku/GraphicsContextHaiku.cpp:
36265        (WebCore::GraphicsContext::setPlatformStrokeStyle):
36266        * platform/graphics/openvg/GraphicsContextOpenVG.cpp:
36267        (WebCore::GraphicsContext::setPlatformStrokeStyle):
36268        * platform/graphics/openvg/PainterOpenVG.cpp:
36269        (WebCore::PainterOpenVG::setStrokeStyle):
36270        * platform/graphics/openvg/PainterOpenVG.h:
36271        * platform/graphics/qt/GraphicsContextQt.cpp:
36272        (WebCore::GraphicsContext::setPlatformStrokeStyle):
36273        * platform/graphics/skia/GraphicsContextSkia.cpp:
36274        (WebCore::GraphicsContext::setPlatformStrokeStyle):
36275
362762010-12-24  Dan Bernstein  <mitz@apple.com>
36277
36278        Reviewed by Alexey Proskuryakov.
36279
36280        REGRESSION (r74648): XHR layout test failures
36281        https://bugs.webkit.org/show_bug.cgi?id=51603
36282
36283        Reverted r74648.
36284
36285        * WebCore.exp.in:
36286
362872010-12-24  Dan Bernstein  <mitz@apple.com>
36288
36289        Try to fix the Qt build after r74648.
36290
36291        * WebCore.gypi:
36292        * WebCore.pro:
36293        * platform/network/qt/CredentialStorageQt.cpp: Added.
36294        (WebCore::CredentialStorage::getFromPersistentStorage):
36295
362962010-12-24  Simon Fraser  <simon.fraser@apple.com>
36297
36298        Reviewed by Dan Bernstein.
36299
36300        CSSStyleSelector cleanup
36301        https://bugs.webkit.org/show_bug.cgi?id=51597
36302
36303        Make some methods const. Add assertion to checkOneSelector, with the
36304        intention of later removing the if (!e) check (this is hot code).
36305
36306        * css/CSSStyleSelector.cpp:
36307        (WebCore::CSSStyleSelector::locateCousinList):
36308        (WebCore::CSSStyleSelector::canShareStyleWithElement):
36309        (WebCore::CSSStyleSelector::locateSharedStyle):
36310        (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
36311        (WebCore::CSSStyleSelector::mmLength):
36312        (WebCore::CSSStyleSelector::inchLength):
36313        (WebCore::CSSStyleSelector::getColorFromPrimitiveValue):
36314        (WebCore::CSSStyleSelector::hasSelectorForAttribute):
36315        * css/CSSStyleSelector.h:
36316        (WebCore::CSSStyleSelector::fontSelector):
36317
363182010-12-24  Dan Bernstein  <mitz@apple.com>
36319
36320        Reviewed by Anders Carlsson.
36321
36322        <rdar://problem/8758386> The web process uses its own credential storage
36323        https://bugs.webkit.org/show_bug.cgi?id=51599
36324
36325        * WebCore.exp.in: Export CredentialStorage::getFromPersistentStorage(), Credential::hasPassword(),
36326        and Credential::isEmpty().
36327
363282010-12-24  Yury Semikhatsky  <yurys@chromium.org>
36329
36330        Reviewed by Darin Adler.
36331
36332        [V8] Rename V8CustomEventListener.{h,cpp} to V8EventListener.{h,cpp}
36333        https://bugs.webkit.org/show_bug.cgi?id=51595
36334
36335        * WebCore.gypi:
36336        * bindings/v8/V8DOMWrapper.cpp:
36337        * bindings/v8/V8EventListener.cpp: Renamed from WebCore/bindings/v8/custom/V8CustomEventListener.cpp.
36338        (WebCore::V8EventListener::V8EventListener):
36339        (WebCore::V8EventListener::getListenerFunction):
36340        (WebCore::V8EventListener::callListenerFunction):
36341        * bindings/v8/V8EventListener.h: Renamed from WebCore/bindings/v8/custom/V8CustomEventListener.h.
36342        (WebCore::V8EventListener::create):
36343        * bindings/v8/V8EventListenerList.h:
36344        * bindings/v8/V8WorkerContextEventListener.h:
36345        * bindings/v8/custom/V8DOMWindowCustom.cpp:
36346        * bindings/v8/custom/V8LocationCustom.cpp:
36347        * bindings/v8/custom/V8NodeCustom.cpp:
36348        * bindings/v8/custom/V8NotificationCenterCustom.cpp:
36349
363502010-12-24  Carlos Garcia Campos  <cgarcia@igalia.com>
36351
36352        Reviewed by Xan Lopez.
36353
36354        [GTK] Show current time / total in media player
36355        https://bugs.webkit.org/show_bug.cgi?id=51535
36356
36357        * css/mediaControlsGtk.css:
36358        (audio::-webkit-media-controls-current-time-display, video::-webkit-media-controls-current-time-display):
36359        * platform/gtk/RenderThemeGtk.cpp:
36360        (WebCore::RenderThemeGtk::formatMediaControlsCurrentTime):
36361        (WebCore::RenderThemeGtk::paintMediaCurrentTime):
36362        * platform/gtk/RenderThemeGtk.h:
36363
363642010-12-24  Jan Erik Hanssen  <jhanssen@sencha.com>
36365
36366        Reviewed by Eric Seidel.
36367
36368        Clean up CSSRuleData in CSSStyleSelector.h
36369        https://bugs.webkit.org/show_bug.cgi?id=27753
36370
36371        Move CSSRuleData and CSSRuleDataList from CSSStyleSelector.h to the .cpp file.
36372
36373        * css/CSSStyleSelector.cpp:
36374        (WebCore::CSSRuleData::CSSRuleData):
36375        (WebCore::CSSRuleData::~CSSRuleData):
36376        (WebCore::CSSRuleData::position):
36377        (WebCore::CSSRuleData::rule):
36378        (WebCore::CSSRuleData::selector):
36379        (WebCore::CSSRuleData::next):
36380        (WebCore::CSSRuleDataList::CSSRuleDataList):
36381        (WebCore::CSSRuleDataList::~CSSRuleDataList):
36382        (WebCore::CSSRuleDataList::first):
36383        (WebCore::CSSRuleDataList::last):
36384        (WebCore::CSSRuleDataList::append):
36385        * css/CSSStyleSelector.h:
36386
363872010-12-24  Yury Semikhatsky  <yurys@chromium.org>
36388
36389        Unreviewed. Fix compilation on Windows.
36390
36391        * inspector/InspectorStyleSheet.cpp:
36392        (WebCore::InspectorStyle::~InspectorStyle): added explicit empty destructor
36393        * inspector/InspectorStyleSheet.h:
36394
363952010-12-24  Yury Semikhatsky  <yurys@chromium.org>
36396
36397        Reviewed by Darin Adler.
36398
36399        inspector/debugger-step-out.html crashing intermittently in the bots
36400        https://bugs.webkit.org/show_bug.cgi?id=50868
36401
36402        Use RefPtr rather instead of raw pointers when keeping references
36403        to refcounted objects.
36404
36405        * inspector/InspectorCSSAgent.cpp:
36406        (WebCore::InspectorCSSAgent::getStylesForNode2):
36407        (WebCore::InspectorCSSAgent::getComputedStyleForNode2):
36408        * inspector/InspectorStyleSheet.cpp:
36409        (WebCore::InspectorStyle::create):
36410        (WebCore::InspectorStyle::InspectorStyle):
36411        (WebCore::InspectorStyle::buildObjectForStyle):
36412        (WebCore::InspectorStyle::setPropertyText):
36413        (WebCore::InspectorStyle::toggleProperty):
36414        (WebCore::InspectorStyle::styleText):
36415        (WebCore::InspectorStyle::populateAllProperties):
36416        (WebCore::InspectorStyle::replacePropertyInStyleText):
36417        (WebCore::InspectorStyleSheet::create):
36418        (WebCore::InspectorStyleSheet::InspectorStyleSheet):
36419        (WebCore::InspectorStyleSheetForInlineStyle::create):
36420        (WebCore::InspectorStyleSheetForInlineStyle::InspectorStyleSheetForInlineStyle):
36421        (WebCore::InspectorStyleSheetForInlineStyle::getStyleAttributeRanges):
36422        * inspector/InspectorStyleSheet.h:
36423        (WebCore::InspectorStyle::cssStyle):
36424        (WebCore::InspectorStyleSheet::pageStyleSheet):
36425
364262010-12-24  Justin Schuh  <jschuh@chromium.org>
36427
36428        Reviewed by Nikolas Zimmermann.
36429
36430        SVGElementInstance::m_useElement should be cleared when use element is removed from document
36431        https://bugs.webkit.org/show_bug.cgi?id=51486
36432
36433        Test: svg/custom/use-instanceRoot-with-use-removed.svg
36434
36435        * svg/SVGElementInstance.cpp:
36436        (WebCore::SVGElementInstance::invalidateAllInstancesOfElement):
36437        * svg/SVGElementInstance.h:
36438        (WebCore::SVGElementInstance::clearUseElement):
36439        * svg/SVGUseElement.cpp:
36440        (WebCore::SVGUseElement::removedFromDocument):
36441        (WebCore::ShadowTreeUpdateBlocker::if):
36442        (WebCore::SVGUseElement::detachInstance):
36443        (WebCore::SVGUseElement::detach):
36444        * svg/SVGUseElement.h:
36445
364462010-12-23  Joseph Pecoraro  <joepeck@webkit.org>
36447
36448        Reviewed by Yury Semikhatsky.
36449
36450        Web Inspector: Missing Localized Strings
36451        https://bugs.webkit.org/show_bug.cgi?id=51542
36452
36453        Added missing strings: "WebSocket",  "Frames", "Text", "Transfer",
36454        "Preserve Log upon Navigation", and "Go to Line".
36455
36456        * English.lproj/localizedStrings.js:
36457
364582010-12-24  Alexander Pavlov  <apavlov@chromium.org>
36459
36460        Reviewed by Yury Semikhatsky.
36461
36462        Web Inspector: Inline HTML style property out of sync with element.style in Sidebar
36463        https://bugs.webkit.org/show_bug.cgi?id=51478
36464
36465        Now the element attribute modifications (including "style") are tracked, which results in the
36466        source offsets update (in the backend) and Styles/Metrics pane updates (in the frontend)
36467        on the "style" attribute modification through the Elements tree. Also, it appears that
36468        a complete "style" attribute removal destroys the inline style declaration
36469        (StyledElement::m_inlineStyleDecl), while the code used to rely on it being immutable (hence a crash).
36470
36471        Test: inspector/elements-delete-inline-style.html
36472
36473        * inspector/InspectorCSSAgent.cpp:
36474        (WebCore::InspectorCSSAgent::didModifyDOMAttr):
36475        * inspector/InspectorCSSAgent.h:
36476        * inspector/InspectorDOMAgent.cpp:
36477        (WebCore::InspectorDOMAgent::didModifyDOMAttr):
36478        * inspector/InspectorDOMAgent.h:
36479        * inspector/InspectorStyleSheet.cpp:
36480        (WebCore::InspectorStyleSheetForInlineStyle::InspectorStyleSheetForInlineStyle):
36481        (WebCore::InspectorStyleSheetForInlineStyle::didModifyElementAttribute):
36482        (WebCore::InspectorStyleSheetForInlineStyle::text):
36483        (WebCore::InspectorStyleSheetForInlineStyle::setStyleText):
36484        (WebCore::InspectorStyleSheetForInlineStyle::getStyleAttributeRanges):
36485        * inspector/InspectorStyleSheet.h:
36486        * inspector/front-end/ElementsTreeOutline.js:
36487        (WebInspector.ElementsTreeElement.prototype._attributeEditingCommitted):
36488
364892010-12-24  Noel Gordon  <noel.gordon@gmail.com>
36490
36491        Reviewed by Andreas Kling.
36492
36493        [chromium] Fix a style nit in the JPEG encoder
36494        https://bugs.webkit.org/show_bug.cgi?id=51574
36495
36496        * platform/image-encoders/skia/JPEGImageEncoder.cpp: nit begone.
36497
364982010-12-23  Alexander Pavlov  <apavlov@chromium.org>
36499
36500        Reviewed by Maciej Stachowiak.
36501
36502        Web Inspector: CSS shorthand properties expand unnecessarily
36503        https://bugs.webkit.org/show_bug.cgi?id=36304
36504
36505        "border-radius" is a shorthand property that has a "non-standard" format and longhands, see
36506        http://www.w3.org/TR/css3-background/#border-radius for reference. CSSParser does not use the
36507        standard parseShorthand() or parse4Values() methods but instead a custom parseBorderRadius() method.
36508        This method didn't use to create a ShorthandScope instance and set the m_implicitShorthand value
36509        appropriately when adding implicit longhands, thus they were added as normal properties
36510        found in the CSS (neither implicit, nor longhands). This is now fixed.
36511
36512        * css/CSSParser.cpp:
36513        (WebCore::CSSParser::parseBorderRadius):
36514
365152010-12-24  Justin Schuh  <jschuh@chromium.org>
36516
36517        Reviewed by Darin Adler.
36518
36519        setTargetAttributeAnimatedValue should check for a null shadowTreeElement.
36520        https://bugs.webkit.org/show_bug.cgi?id=51576
36521
36522        Disallowed elements may be pruned from the shadow tree, leaving a null
36523        shadowTreeElement. We should check for that before setting attributes.
36524
36525        Test: svg/custom/animate-disallowed-use-element.svg
36526
36527        * svg/SVGAnimationElement.cpp:
36528        (WebCore::SVGAnimationElement::setTargetAttributeAnimatedValue):
36529
365302010-12-24  Evan Martin  <evan@chromium.org>
36531
36532        Reviewed by Darin Adler.
36533
36534        TextMetrics::width is an integer, but the member is a float
36535        https://bugs.webkit.org/show_bug.cgi?id=51566
36536
36537        Change the return type to a float.
36538
36539        No tests, fixing a compiler warning.
36540        (I was unable to produce a difference in the values exposed to pages
36541        with a float versus the previous conversion to an integer.)
36542
36543        * html/TextMetrics.h:
36544        (WebCore::TextMetrics::width):
36545
365462010-12-24  Ryuan Choi  <ryuan.choi@samsung.com>
36547
36548        Reviewed by Kenneth Rohde Christiansen.
36549
36550        [EFL] Add option to enable Touch Events.
36551        https://bugs.webkit.org/show_bug.cgi?id=49125
36552
36553        Add files for EFL to support TOUCH_EVENTS.
36554
36555        * CMakeLists.txt:
36556        * CMakeListsEfl.txt:
36557        * platform/PlatformTouchEvent.h: Add EFL related constructor.
36558        * platform/PlatformTouchPoint.h: ditto.
36559        * platform/efl/PlatformTouchEventEfl.cpp: Added.
36560        (WebCore::PlatformTouchEvent::PlatformTouchEvent):
36561        * platform/efl/PlatformTouchPointEfl.cpp: Added.
36562        (WebCore::PlatformTouchPoint::PlatformTouchPoint):
36563
365642010-12-24  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
36565
36566        Reviewed by Kenneth Rohde Christiansen.
36567
36568        [EFL] Return an empty string instead of 'application/octet-stream' in getMIMETypeForExtension()
36569        https://bugs.webkit.org/show_bug.cgi?id=51457
36570
36571        WebKit EFL can't play html5 audio because of wrong mime type checking.
36572        So, 'application/octet-stream' is changed with an empty string.
36573
36574        * platform/efl/MIMETypeRegistryEfl.cpp:
36575        (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
36576        Returns an empty string instead of application/octet-stream when it can't find proper mime type.
36577
365782010-12-24  Justin Schuh  <jschuh@chromium.org>
36579
36580        Reviewed by Darin Adler.
36581
36582        SVGFontFaceElement::rebuildFontFace() should exit when not in document
36583        https://bugs.webkit.org/show_bug.cgi?id=51571
36584
36585        We were hitting a NULL deref crash. Since most of the callers checked
36586        inDocument() anyway, I moved it into the start of rebuildFontFace.
36587
36588        Test: svg/custom/use-invalid-font-face.svg
36589
36590        * svg/SVGFontFaceElement.cpp:
36591        (WebCore::SVGFontFaceElement::parseMappedAttribute):
36592        (WebCore::SVGFontFaceElement::rebuildFontFace):
36593        (WebCore::SVGFontFaceElement::childrenChanged):
36594
365952010-12-24  Justin Schuh  <jschuh@chromium.org>
36596
36597        Reviewed by Darin Adler.
36598
36599        Remove unnecessary check in CSSCanvasValue::canvasDestroyed().
36600        https://bugs.webkit.org/show_bug.cgi?id=51564
36601
36602        This check was duplicating an ASSERT for a case fixed in r73927.
36603        Now that the bug is fixed the check is no longer necessary.
36604
36605        Removing dead code, so no new tests needed.
36606
36607        * css/CSSCanvasValue.cpp:
36608        (WebCore::CSSCanvasValue::canvasDestroyed):
36609
366102010-12-23  Evan Martin  <evan@chromium.org>
36611
36612        Reviewed by Darin Adler.
36613
36614        ViewportArguments.h uses an enum to intialize a bool
36615        https://bugs.webkit.org/show_bug.cgi?id=50982
36616
36617        Initialize userScalable to true, rather than -1.
36618        No tests; fixes a compiler warning.
36619
36620        * dom/ViewportArguments.h:
36621        (WebCore::ViewportArguments::ViewportArguments):
36622
366232010-12-23  Jan Erik Hanssen  <jhanssen@sencha.com>
36624
36625        Reviewed by Adam Barth.
36626
36627        [Qt] User name/password stripped from URLs
36628        https://bugs.webkit.org/show_bug.cgi?id=36232
36629
36630        If a username but no password or no username but a password is present
36631        in a URL, QtWebKit won't send any authentication information down to Qt
36632        as it should.
36633
36634        Tests: http/tests/xmlhttprequest/basic-auth-nopassword.html
36635               http/tests/xmlhttprequest/basic-auth-nouser.html
36636
36637        * platform/network/qt/ResourceHandleQt.cpp:
36638        (WebCore::ResourceHandle::start):
36639        (WebCore::ResourceHandle::loadResourceSynchronously):
36640
366412010-12-23  Ryosuke Niwa  <rniwa@webkit.org>
36642
36643        Reviewed by Darin Adler.
36644
36645        queryCommandValue("FormatBlock") does not respect editing boundaries
36646        https://bugs.webkit.org/show_bug.cgi?id=51219
36647
36648        Fixed the bug by checking the element we found in elementForFormatBlockCommand
36649        does not contain the editable root.
36650
36651        * editing/FormatBlockCommand.cpp:
36652        (WebCore::FormatBlockCommand::elementForFormatBlockCommand):
36653
366542010-12-23  Ryosuke Niwa  <rniwa@webkit.org>
36655
36656        Reviewed by Darin Adler.
36657
36658        FormatBlock doesn't preserve typing style but it should
36659        https://bugs.webkit.org/show_bug.cgi?id=51140
36660
36661        Fixed the bug by making preserveTypingStyle return true.
36662
36663        Test: editing/execCommand/format-block-typing-style.html
36664
36665        * editing/FormatBlockCommand.h:
36666        (WebCore::FormatBlockCommand::preservesTypingStyle):
36667
366682010-12-23  Jessie Berlin  <jberlin@apple.com>
36669
36670        Reviewed by Sam Weinig.
36671
36672        Need WebKit2 API to create a SecurityOrigin from protocol, host, and port
36673        https://bugs.webkit.org/show_bug.cgi?id=51563
36674
36675        Add SecurityOrigin::create(const String& protocol, const String& host, int port).
36676
36677        * WebCore.exp.in:
36678        Export the symbols for WebCore::SecurityOrigin::create(String, String, int).
36679
36680        * page/SecurityOrigin.cpp:
36681        (WebCore::SecurityOrigin::createFromDatabaseIdentifier):
36682        Use the constant MaxAllowedPort.
36683        (WebCore::SecurityOrigin::create):
36684        Sanitizing based off of that done in createFromDatabaseIdentifier.
36685        * page/SecurityOrigin.h:
36686
366872010-12-23  Patrick Gansterer  <paroga@webkit.org>
36688
36689        Unreviewed build fix for WinCE after r73802.
36690
36691        Reapply r70812:
36692        Port ContextMenuItemWin.cpp to WinCE
36693        https://bugs.webkit.org/show_bug.cgi?id=48407
36694
36695        * platform/win/ContextMenuItemWin.cpp:
36696
366972010-12-23  Adam Barth  <abarth@webkit.org>
36698
36699        Remove include of non-existant file.
36700
36701        * bindings/v8/custom/V8DOMWindowCustom.cpp:
36702
367032010-12-23  Ryosuke Niwa  <rniwa@webkit.org>
36704
36705        Reviewed by Darin Adler.
36706
36707        Selection becomes stale when CharacterData is manipulated directly
36708        https://bugs.webkit.org/show_bug.cgi?id=51389
36709
36710        The bug was caused by SelectionController's not adjusting selection when CharacterData's
36711        m_data is modified by its API.
36712
36713        Fixed the bug by adding textWillBeReplaced to SelectionController and calling it in
36714        CharacterData::textWillBeReplaced. Added newLength to setDataAndUpdate, which is passed to
36715        textWillBeReplaced because inserting, replacing, or removing data may require moving
36716        the offset of the selection end points (done by shouldRemovePositionAfterAdoptingTextReplacement).
36717
36718        Also fixed the condition for determining whether or not a node intersects the selection
36719        in respondToNodeModification, which is extracted from nodeWillBeRemoved. The old condition
36720        failed to recognize certain cases when selection started and ended with non-zero offsets.
36721
36722        Tests: editing/selection/character-data-mutation-crash.html
36723               editing/selection/character-data-mutation.html
36724
36725        * dom/CharacterData.cpp:
36726        (WebCore::CharacterData::setData): Passes newLegnth to setDataAndUpdate.
36727        (WebCore::CharacterData::appendData): Ditto.
36728        (WebCore::CharacterData::insertData): Ditto.
36729        (WebCore::CharacterData::deleteData): Ditto.
36730        (WebCore::CharacterData::replaceData): Ditto.
36731        (WebCore::CharacterData::setDataAndUpdate): Added newLegnth to the argument list,
36732        and renamed lengthOfReplacedData to oldLength; calls textWillBeReplaced.
36733        * dom/CharacterData.h:
36734        * editing/SelectionController.cpp:
36735        (WebCore::removingNodeRemovesPosition): Removed indentations from blank lines.
36736        (WebCore::SelectionController::nodeWillBeRemoved): Calls nodeWillBeRemoved.
36737        (WebCore::SelectionController::respondToNodeModification): Extracted from nodeWillBeRemoved;
36738        fixed the logic to figure out whether a node is inside the range or not.
36739        (WebCore::shouldRemovePositionAfterAdoptingTextReplacement): Added.
36740        (WebCore::SelectionController::textWillBeReplaced): Added.
36741        * editing/SelectionController.h:
36742
367432010-12-23  Adam Barth  <abarth@webkit.org>
36744
36745        Reviewed by Darin Adler.
36746
36747        Remove unneeded V8 bindings files
36748        https://bugs.webkit.org/show_bug.cgi?id=51570
36749
36750        * WebCore.gypi:
36751        * bindings/generic/BindingDOMWindow.h: Removed.
36752        * bindings/v8/specialization/V8BindingDOMWindow.h: Removed.
36753
367542010-12-23  Dan Bernstein  <mitz@apple.com>
36755
36756        Build fix.
36757
36758        * editing/EditorCommand.cpp:
36759        (WebCore::enabledDismissCorrectionPanel):
36760
367612010-12-23  Darin Adler  <darin@apple.com>
36762
36763        Try to fix crash seen on GTK bot.
36764
36765        * editing/EditorCommand.cpp:
36766        (WebCore::internalCommand): Add back empty string check I accidentally deleted in r74580.
36767
36768        * WebCore.xcodeproj/project.pbxproj: Let Xcode edit the file.
36769
367702010-12-23  Sheriff Bot  <webkit.review.bot@gmail.com>
36771
36772        Unreviewed, rolling out r74561.
36773        http://trac.webkit.org/changeset/74561
36774        https://bugs.webkit.org/show_bug.cgi?id=51565
36775
36776        "Broke Chromium UI tests on Vista" (Requested by kbr_google on
36777        #webkit).
36778
36779        * platform/graphics/chromium/ImageLayerChromium.cpp:
36780        (WebCore::ImageLayerChromium::updateContentsIfDirty):
36781        * platform/graphics/skia/GraphicsContext3DSkia.cpp:
36782        (WebCore::GraphicsContext3D::getImageData):
36783
367842010-12-23  Mihai Parparita  <mihaip@chromium.org>
36785
36786        Reviewed by Kent Tamura.
36787
36788        [Chromium] Add WebThemeEngine for Mac to allow scrollbar rendering to be overridden for the DRT
36789        https://bugs.webkit.org/show_bug.cgi?id=51507
36790        
36791        Adds WebThemeEngine for the Mac (it already has parallel definitions for
36792        Windows and Linux) so that scrollbar thumb rendering can be overridden
36793        for the DRT (to be consistent with the NSScroller-based rendering
36794        used by the Mac port).
36795
36796        No new tests since the functionality is not exposed yet. Eventually will
36797        result in the Chromium/Mac port being able to use the same pixel
36798        baselines for layout tests as the Mac port.
36799
36800        * platform/chromium/ChromiumBridge.h:
36801        * platform/chromium/ScrollbarThemeChromiumMac.mm:
36802        (WebCore::scrollbarStateToThemeState):
36803        (WebCore::ScrollbarThemeChromiumMac::paint):
36804
368052010-12-23  Darin Adler  <darin@apple.com>
36806
36807        Reviewed by Sam Weinig.
36808
36809        WKView should not try to do asynchronous validation for selectors that are not editor commands
36810        https://bugs.webkit.org/show_bug.cgi?id=51555
36811
36812        * WebCore.exp.in: Added commandIsSupportedFromMenuOrKeyBinding.
36813        * editing/Editor.h: Reordered arguments in the Editor::Command constructor
36814        and the data members too so the frame is last. Added
36815        commandIsSupportedFromMenuOrKeyBinding.
36816
36817        * editing/EditorCommand.cpp:
36818        (WebCore::supported): Removed the EditorCommandSource argument. These
36819        functions are now only used when called from DOM.
36820        (WebCore::supportedFromMenuOrKeyBinding): Ditto.
36821        (WebCore::supportedCopyCut): Ditto.
36822        (WebCore::supportedPaste): Ditto.
36823        (WebCore::enabledDismissCorrectionPanel): Changed the supported function to
36824        an enabled function. It was incorrect to say that this is "supported" only
36825        when the correction panel is up. Correct to say that it is "enabled" only
36826        then. And also probably OK to enable it even when the selection is not in
36827        editable text, as long as the panel is up.
36828        (WebCore::createCommandMap): Moved conditional commands out of the main
36829        array into a separate section at the end.
36830        (WebCore::internalCommand): Added.
36831        (WebCore::Editor::command): Changed to use the new internalCommand function
36832        and simplified by relying on the null check in the Command constructor.
36833        (WebCore::Editor::commandIsSupportedFromMenuOrKeyBinding): Added.
36834        (WebCore::Editor::Command::Command): Removed unneeded initialization of
36835        m_source, which is never looked at if m_command is 0. Added feature of
36836        passing a null command pointer to the non-default constructor.
36837        (WebCore::Editor::Command::isSupported): Changed to only call the
36838        per-command isSupported function when the command source is DOM.
36839        Accordingly that function is now called isSupportedFromDOM.
36840
368412010-12-23  Matthew Delaney  <mdelaney@apple.com>
36842
36843        Reviewed by Simon Fraser.
36844
36845        Incorrect layer property used noted as changed in GraphicsLayerCA::setAcceleratesDrawing
36846        https://bugs.webkit.org/show_bug.cgi?id=51560
36847
36848        No new tests.
36849
36850        * platform/graphics/ca/GraphicsLayerCA.cpp:
36851        (WebCore::GraphicsLayerCA::setAcceleratesDrawing):
36852
368532010-12-23  Jan Erik Hanssen  <jhanssen@sencha.com>
36854
36855        Reviewed by Andreas Kling.
36856
36857        [Qt] copy and paste greek symbols to Word, TextEdit results in ?'s being shown
36858        https://bugs.webkit.org/show_bug.cgi?id=35635
36859
36860        Explicitly set text/html data on QClipboard as UTF-8 and also include a <meta>
36861        tag informing the OS that the data is in UTF-8 format.
36862
36863        * platform/qt/PasteboardQt.cpp:
36864        (WebCore::Pasteboard::writeSelection):
36865
368662010-12-23  Justin Schuh  <jschuh@chromium.org>
36867
36868        Reviewed by Eric Seidel.
36869
36870        CSSCursorImageValue destructor should clear referenced element.
36871        https://bugs.webkit.org/show_bug.cgi?id=51417
36872
36873        Calls correct method to clear image and renames method to avoid future confusion.
36874
36875        Test: svg/css/cursor-image-replace.svg
36876
36877        * css/CSSCursorImageValue.cpp:
36878        (WebCore::CSSCursorImageValue::~CSSCursorImageValue):
36879        * svg/SVGElement.cpp:
36880        (WebCore::SVGElement::cursorImageValueRemoved):
36881        * svg/SVGElement.h:
36882
368832010-12-22  Sam Weinig  <sam@webkit.org>
36884
36885        Reviewed by Darin Adler.
36886
36887        WebKit2 needs to mirror the frame tree in the UIProcess
36888        https://bugs.webkit.org/show_bug.cgi?id=51546
36889
36890        - Add client functions to notify that a frame has been added or
36891          removed from the page cache.
36892
36893        * history/CachedFrame.cpp:
36894        (WebCore::CachedFrameBase::restore):
36895        (WebCore::CachedFrame::CachedFrame):
36896        * history/CachedFrame.h:
36897        * loader/EmptyClients.h:
36898        (WebCore::EmptyFrameLoaderClient::didSaveToPageCache):
36899        (WebCore::EmptyFrameLoaderClient::didRestoreFromPageCache):
36900        * loader/FrameLoaderClient.h:
36901
369022010-12-22  Matthew Delaney  <mdelaney@apple.com>
36903
36904        Reviewed by Simon Fraser.
36905
36906        Add setNeedsStyleRecalc for getting canvas contexts that use IOSurfaces
36907        This patch also changes USE_IOSURFACE to instead follow USE(IOSURFACE)
36908        https://bugs.webkit.org/show_bug.cgi?id=51279
36909
36910        * html/HTMLCanvasElement.cpp: For IOSurface, use setNeedsStyleRecalc
36911        * html/canvas/CanvasRenderingContext2D.cpp: Use new flag
36912        * platform/graphics/ImageBuffer.h: Use new flag
36913        * platform/graphics/cg/ImageBufferCG.cpp: Use new flag
36914
369152010-12-20  Adrienne Walker  <enne@google.com>
36916
36917        Reviewed by Kenneth Russell.
36918
36919        [chromium] Tile root layer of the compositor.
36920        https://bugs.webkit.org/show_bug.cgi?id=49947
36921
36922        Refactor root layer update and drawing from LayerRendererChromium into
36923        LayerTilerChromium.  The root layer is now drawn as multiple tiles
36924        rather than as one single large texture.  Scrollbars are now drawn
36925        separately rather than as part of the root layer.
36926
36927        Test: LayoutTests/compositing/
36928
36929        * WebCore.gypi:
36930        * page/FrameView.cpp:
36931        (WebCore::FrameView::repaintContentRectangle):
36932        * platform/ScrollView.cpp:
36933        (WebCore::ScrollView::ScrollView):
36934        (WebCore::ScrollView::setClipsRepaints):
36935        * platform/ScrollView.h:
36936        (WebCore::ScrollView::clipsRepaints):
36937        * platform/graphics/chromium/LayerChromium.h:
36938        * platform/graphics/chromium/LayerRendererChromium.cpp:
36939        (WebCore::LayerRendererChromium::LayerRendererChromium):
36940        (WebCore::LayerRendererChromium::~LayerRendererChromium):
36941        (WebCore::LayerRendererChromium::useShader):
36942        (WebCore::LayerRendererChromium::verticalScrollbarRect):
36943        (WebCore::LayerRendererChromium::horizontalScrollbarRect):
36944        (WebCore::LayerRendererChromium::invalidateRootLayerRect):
36945        (WebCore::LayerRendererChromium::updateAndDrawRootLayer):
36946        (WebCore::LayerRendererChromium::drawLayers):
36947        (WebCore::LayerRendererChromium::setRootLayer):
36948        (WebCore::LayerRendererChromium::initializeSharedObjects):
36949        (WebCore::LayerRendererChromium::cleanupSharedObjects):
36950        * platform/graphics/chromium/LayerRendererChromium.h:
36951        * platform/graphics/chromium/LayerTilerChromium.cpp: Added.
36952        (WebCore::LayerTilerChromium::create):
36953        (WebCore::LayerTilerChromium::LayerTilerChromium):
36954        (WebCore::LayerTilerChromium::~LayerTilerChromium):
36955        (WebCore::LayerTilerChromium::layerRendererContext):
36956        (WebCore::LayerTilerChromium::setTileSize):
36957        (WebCore::LayerTilerChromium::reset):
36958        (WebCore::LayerTilerChromium::createTile):
36959        (WebCore::LayerTilerChromium::invalidateTiles):
36960        (WebCore::LayerTilerChromium::contentRectToTileIndices):
36961        (WebCore::LayerTilerChromium::contentRectToLayerRect):
36962        (WebCore::LayerTilerChromium::layerRectToContentRect):
36963        (WebCore::LayerTilerChromium::tileIndex):
36964        (WebCore::LayerTilerChromium::tileContentRect):
36965        (WebCore::LayerTilerChromium::tileLayerRect):
36966        (WebCore::LayerTilerChromium::invalidateRect):
36967        (WebCore::LayerTilerChromium::invalidateEntireLayer):
36968        (WebCore::LayerTilerChromium::update):
36969        (WebCore::LayerTilerChromium::setLayerPosition):
36970        (WebCore::LayerTilerChromium::draw):
36971        (WebCore::LayerTilerChromium::resizeLayer):
36972        (WebCore::LayerTilerChromium::growLayerToContain):
36973        (WebCore::LayerTilerChromium::Tile::~Tile):
36974        (WebCore::LayerTilerChromium::Tile::releaseTextureId):
36975        * platform/graphics/chromium/LayerTilerChromium.h: Added.
36976        (WebCore::LayerTilerChromium::Tile::Tile):
36977        (WebCore::LayerTilerChromium::Tile::textureId):
36978        (WebCore::LayerTilerChromium::Tile::dirty):
36979        (WebCore::LayerTilerChromium::Tile::clearDirty):
36980        (WebCore::LayerTilerChromium::layerRenderer):
36981
369822010-12-22  Ryosuke Niwa  <rniwa@webkit.org>
36983
36984        Reviewed by Eric Seidel.
36985
36986        Editor.h doesn't need to include SelectionController.h
36987        https://bugs.webkit.org/show_bug.cgi?id=51441
36988
36989        Removed #include <Selection.h> from Editor.h.
36990        Also extracted WritingDirection.h from EditingStyle.h and renamed SelectionController::EDirection
36991        to SelectionDirection and moved its declaration from SelectionController.h to VisibleSelection.h
36992
36993        * WebCore.exp.in: Signature changes.
36994        * WebCore.xcodeproj/project.pbxproj: Added WritingDirection.h
36995        * accessibility/AccessibilityRenderObject.cpp:
36996        (WebCore::AccessibilityRenderObject::visiblePositionRangeForLine): Change due to SelectionDirection.
36997        * editing/EditingStyle.h: Removed WritingDirection and included WritingDirection.h
36998        * editing/Editor.cpp:
36999        (WebCore::Editor::deleteWithDirection): Change due to SelectionDirection.
37000        (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): Ditto.
37001        (WebCore::Editor::markMisspellingsAfterTypingToWord): Ditto.
37002        * editing/Editor.h: Removed SelectionController.h; added DocumentMarker.h, Timer.h, VisibleSelection.h
37003        and WritingDirection.h; forward declared CSSMutableStyleDeclaration.
37004        * editing/EditorCommand.cpp:
37005        (WebCore::executeDeleteBackward): Change due to SelectionDirection.
37006        (WebCore::executeDeleteBackwardByDecomposingPreviousCharacter): Ditto.
37007        (WebCore::executeDeleteForward): Ditto.
37008        (WebCore::executeDeleteToBeginningOfLine): Ditto.
37009        (WebCore::executeDeleteToBeginningOfParagraph): Ditto.
37010        (WebCore::executeDeleteToEndOfLine): Ditto.
37011        (WebCore::executeDeleteToEndOfParagraph): Ditto.
37012        (WebCore::executeDeleteWordBackward): Ditto.
37013        (WebCore::executeDeleteWordForward): Ditto.
37014        (WebCore::executeForwardDelete): Ditto.
37015        (WebCore::executeMoveBackward): Ditto.
37016        (WebCore::executeMoveBackwardAndModifySelection): Ditto.
37017        (WebCore::executeMoveDown): Ditto.
37018        (WebCore::executeMoveDownAndModifySelection): Ditto.
37019        (WebCore::executeMoveForward): Ditto.
37020        (WebCore::executeMoveForwardAndModifySelection): Ditto.
37021        (WebCore::executeMoveLeft): Ditto.
37022        (WebCore::executeMoveLeftAndModifySelection): Ditto.
37023        (WebCore::executeMoveRight): Ditto.
37024        (WebCore::executeMoveRightAndModifySelection): Ditto.
37025        (WebCore::executeMoveToBeginningOfDocument): Ditto.
37026        (WebCore::executeMoveToBeginningOfDocumentAndModifySelection): Ditto.
37027        (WebCore::executeMoveToBeginningOfLine): Ditto.
37028        (WebCore::executeMoveToBeginningOfLineAndModifySelection): Ditto.
37029        (WebCore::executeMoveToBeginningOfParagraph): Ditto.
37030        (WebCore::executeMoveToBeginningOfParagraphAndModifySelection): Ditto.
37031        (WebCore::executeMoveToBeginningOfSentence): Ditto.
37032        (WebCore::executeMoveToBeginningOfSentenceAndModifySelection): Ditto.
37033        (WebCore::executeMoveToEndOfDocument): Ditto.
37034        (WebCore::executeMoveToEndOfDocumentAndModifySelection): Ditto.
37035        (WebCore::executeMoveToEndOfSentence): Ditto.
37036        (WebCore::executeMoveToEndOfSentenceAndModifySelection): Ditto.
37037        (WebCore::executeMoveToEndOfLine): Ditto.
37038        (WebCore::executeMoveToEndOfLineAndModifySelection): Ditto.
37039        (WebCore::executeMoveToEndOfParagraph): Ditto.
37040        (WebCore::executeMoveToEndOfParagraphAndModifySelection): Ditto.
37041        (WebCore::executeMoveParagraphBackwardAndModifySelection): Ditto.
37042        (WebCore::executeMoveParagraphForwardAndModifySelection): Ditto.
37043        (WebCore::executeMoveUp): Ditto.
37044        (WebCore::executeMoveUpAndModifySelection): Ditto.
37045        (WebCore::executeMoveWordBackward): Ditto.
37046        (WebCore::executeMoveWordBackwardAndModifySelection): Ditto.
37047        (WebCore::executeMoveWordForward): Ditto.
37048        (WebCore::executeMoveWordForwardAndModifySelection): Ditto.
37049        (WebCore::executeMoveWordLeft): Ditto.
37050        (WebCore::executeMoveWordLeftAndModifySelection): Ditto.
37051        (WebCore::executeMoveWordRight): Ditto.
37052        (WebCore::executeMoveWordRightAndModifySelection): Ditto.
37053        (WebCore::executeMoveToLeftEndOfLine): Ditto.
37054        (WebCore::executeMoveToLeftEndOfLineAndModifySelection): Ditto.
37055        (WebCore::executeMoveToRightEndOfLine): Ditto.
37056        (WebCore::executeMoveToRightEndOfLineAndModifySelection): Ditto.
37057        * editing/SelectionController.cpp:
37058        (WebCore::SelectionController::willBeModified): Takes SelectionDirection instead of EDirection.
37059        (WebCore::SelectionController::modify): Ditto.
37060        * editing/SelectionController.h: Change due to SelectionDirection.
37061        * editing/TypingCommand.cpp:
37062        (WebCore::TypingCommand::deleteKeyPressed): Ditto.
37063        (WebCore::TypingCommand::forwardDeleteKeyPressed): Ditto.
37064        * editing/VisibleSelection.h: Added SelectionDirection, renamed and moved from EDirection
37065        in SelectionController.h
37066        * editing/WritingDirection.h: Added.
37067        * page/DOMSelection.cpp:
37068        (WebCore::DOMSelection::modify): Change due to SelectionDirection.
37069        (WebCore::DOMSelection::deleteFromDocument): Ditto.
37070        * page/EventHandler.cpp:
37071        (WebCore::EventHandler::handleKeyboardSelectionMovement): Ditto.
37072        * page/Frame.h: Includes SelectionController.h.
37073
370742010-12-23  Adam Barth  <abarth@webkit.org>
37075
37076        Reviewed by Darin Adler.
37077
37078        Move V8 to WebCore's implementation of showModalDialog
37079        https://bugs.webkit.org/show_bug.cgi?id=51527
37080
37081        This code is basically verbatim translation from the JavaScriptCore
37082        bindings.  The only intentional difference is in the world selection
37083        for the dialog's frame.  I suspect JavaScriptCore's bindings have a
37084        subtle bug there.
37085
37086        In this patch, I also remove a bunch of now-unneeded code in the
37087        generic bindings.
37088
37089        * bindings/generic/BindingDOMWindow.h:
37090        * bindings/js/JSDOMWindowCustom.cpp:
37091        (WebCore::DialogHandler::dialogCreated):
37092        (WebCore::setUpDialog):
37093        * bindings/v8/custom/V8DOMWindowCustom.cpp:
37094        (WebCore::DialogHandler::DialogHandler):
37095        (WebCore::DialogHandler::dialogCreated):
37096        (WebCore::DialogHandler::returnValue):
37097        (WebCore::setUpDialog):
37098        (WebCore::V8DOMWindow::showModalDialogCallback):
37099        (WebCore::V8DOMWindow::openCallback):
37100        * bindings/v8/specialization/V8BindingDOMWindow.h:
37101
371022010-12-23  Alexander Pavlov  <apavlov@chromium.org>
37103
37104        Reviewed by Joseph Pecoraro.
37105
37106        Web Inspector: Can't backspace from CSS value to CSS key field
37107        https://bugs.webkit.org/show_bug.cgi?id=51476
37108
37109        * inspector/front-end/StylesSidebarPane.js:
37110        (WebInspector.StylePropertyTreeElement.prototype.):
37111        (WebInspector.StylePropertyTreeElement.prototype):
37112
371132010-12-23  W. James MacLean  <wjmaclean@chromium.org>
37114
37115        Reviewed by Kenneth Russell.
37116
37117        [chromium] Add asserts to test for contiguous-pixel Skia bitmaps.
37118        https://bugs.webkit.org/show_bug.cgi?id=51186
37119
37120        No new tests. Behaviour not changed, but need the asserts to detect when assumptions violated.
37121
37122        * platform/graphics/chromium/ImageLayerChromium.cpp:
37123        (WebCore::ImageLayerChromium::updateContentsIfDirty):
37124        * platform/graphics/skia/GraphicsContext3DSkia.cpp:
37125        (WebCore::GraphicsContext3D::getImageData):
37126
371272010-12-23  Lucas De Marchi  <lucas.demarchi@profusion.mobi>
37128
37129        Reviewed by Kenneth Rohde Christiansen.
37130
37131        Fix check by undefined macro
37132        https://bugs.webkit.org/show_bug.cgi?id=51531
37133
37134        Fix check by undefined macro
37135
37136        When building EFL port with libsoup, BUILDING_GTK__ is not defined,
37137        leading to warnings during compile. We actually have to use an #ifdef
37138        instead of an #if.
37139
37140        No change in functionality so no new tests.
37141
37142        * platform/network/soup/cache/webkit/soup-cache.h:
37143
371442010-12-23  Jonathan Dixon  <joth@chromium.org>
37145
37146        Reviewed by Steve Block.
37147
37148        TouchEvents does not support multi-touch on a page with multiple touch targets
37149        https://bugs.webkit.org/show_bug.cgi?id=51258
37150
37151        Test: fast/events/touch/multi-touch-grouped-targets.html
37152
37153        * page/EventHandler.cpp:
37154        (WebCore::eventNameForTouchPointState):
37155        (WebCore::EventHandler::handleTouchEvent):
37156        Redesigned event handler to ensure all event targets involved in a given
37157        multitouch event get the appropriate event(s) fired.
37158
37159        * platform/PlatformTouchPoint.h: Added end-stop marker for State enum.
37160
371612010-12-23  Philippe Normand  <pnormand@igalia.com>
37162
37163        Reviewed by Xan Lopez.
37164
37165        [GTK] media/audio-data-url.html fails since r75504
37166        https://bugs.webkit.org/show_bug.cgi?id=51525
37167
37168        Make the GStreamer media-player advertize 3gpp mime-types as
37169        supported if the 3gp caps are in the typefind factories.
37170
37171        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
37172        (WebCore::mimeTypeCache):
37173
371742010-12-23  Kent Tamura  <tkent@chromium.org>
37175
37176        Reviewed by Dimitri Glazkov.
37177
37178        Refactor HTMLInputElement: Move a part of HTMLInputElement::defaultEventHandler()
37179        to InputTypes.
37180        https://bugs.webkit.org/show_bug.cgi?id=51093
37181
37182        Move BeforeTextInserted and Wheel event handling, event forwarding to
37183        renderers, and the isindex form submission quirk code to InputTypes.
37184        Also, change the return types of InputType event handlers from 'bool'
37185        to 'void'. We use Event::defaultHandled() to decide whether event
37186        handling should be stopped.
37187
37188        No new tests because this is just a refactoring.
37189
37190        * html/BaseButtonInputType.cpp: bool->void changes
37191        (WebCore::BaseButtonInputType::handleKeydownEvent):
37192        (WebCore::BaseButtonInputType::handleKeypressEvent):
37193        (WebCore::BaseButtonInputType::handleKeyupEvent):
37194        * html/BaseButtonInputType.h: ditto.
37195        * html/BaseCheckableInputType.cpp: ditto.
37196        (WebCore::BaseCheckableInputType::handleKeydownEvent):
37197        (WebCore::BaseCheckableInputType::handleKeypressEvent):
37198        * html/BaseCheckableInputType.h: ditto.
37199        * html/BaseDateAndTimeInputType.cpp:
37200        (WebCore::BaseDateAndTimeInputType::handleKeydownEvent): ditto.
37201        (WebCore::BaseDateAndTimeInputType::handleWheelEvent): Just calls handleWheelEventForSpinButton().
37202        * html/BaseDateAndTimeInputType.h: bool->void change and handleWhellEvent() addition.
37203        * html/CheckboxInputType.cpp: bool->void change
37204        (WebCore::CheckboxInputType::handleKeyupEvent):
37205        * html/CheckboxInputType.h: ditto.
37206        * html/FileInputType.cpp: ditto.
37207        (WebCore::FileInputType::handleDOMActivateEvent):
37208        * html/FileInputType.h: ditto.
37209        * html/HTMLInputElement.cpp:
37210        (WebCore::HTMLInputElement::defaultEventHandler):
37211         - Change return-value handling of InputType event handlers
37212         - Move out beforeTextInserted/wheel event handling and isindex form quirk.
37213        * html/HTMLInputElement.h:
37214        (WebCore::HTMLInputElement::handleBeforeTextInsertedEvent):
37215         Added so that InputType can call InputElement::handleBeforeTextInsertedEvent().
37216        * html/ImageInputType.cpp: bool->void change
37217        (WebCore::ImageInputType::handleDOMActivateEvent):
37218        * html/ImageInputType.h: ditto.
37219        * html/InputType.cpp: ditto.
37220        (WebCore::InputType::handleClickEvent):
37221        (WebCore::InputType::handleDOMActivateEvent):
37222        (WebCore::InputType::handleKeydownEvent):
37223        (WebCore::InputType::handleKeypressEvent):
37224        (WebCore::InputType::handleKeyupEvent):
37225        (WebCore::InputType::handleBeforeTextInsertedEvent):
37226        (WebCore::InputType::handleWheelEvent): Added default implementation.
37227        (WebCore::InputType::forwardEvent): ditto.
37228        (WebCore::InputType::formForSubmission): ditto.
37229        * html/InputType.h:
37230        * html/IsIndexInputType.cpp:
37231        (WebCore::IsIndexInputType::formForSubmission): Moved from HTMLInputElement.cpp.
37232        * html/IsIndexInputType.h:
37233        * html/NumberInputType.cpp:
37234        (WebCore::isNumberCharacter): Moved from HTMLInputElement.cpp.
37235        (WebCore::NumberInputType::handleKeydownEvent): bool->void change.
37236        (WebCore::NumberInputType::handleBeforeTextInsertedEvent): Moved from HTMInputElement.cpp.
37237        (WebCore::NumberInputType::handleWheelEvent): Added. Just calls handleWheelEventForSpinButton().
37238        * html/NumberInputType.h:
37239        * html/RadioInputType.cpp: bool->void changes.
37240        (WebCore::RadioInputType::handleClickEvent):
37241        (WebCore::RadioInputType::handleKeydownEvent):
37242        (WebCore::RadioInputType::handleKeyupEvent):
37243        * html/RadioInputType.h:
37244        * html/RangeInputType.cpp:
37245        (WebCore::RangeInputType::handleKeydownEvent): ditto.
37246        (WebCore::RangeInputType::forwardEvent): Moved from HTMLInputElement.cpp.
37247        * html/RangeInputType.h:
37248        * html/ResetInputType.cpp: bool->void change.
37249        (WebCore::ResetInputType::handleDOMActivateEvent):
37250        * html/ResetInputType.h: ditto.
37251        * html/SubmitInputType.cpp: ditto.
37252        (WebCore::SubmitInputType::handleDOMActivateEvent):
37253        * html/SubmitInputType.h: ditto.
37254        * html/TextFieldInputType.cpp:
37255        (WebCore::TextFieldInputType::handleKeydownEvent): bool->void change.
37256        (WebCore::TextFieldInputType::handleKeydownEventForSpinButton): ditto.
37257        (WebCore::TextFieldInputType::handleWheelEventForSpinButton): Moved from HTMLInputElement.cpp.
37258        (WebCore::TextFieldInputType::forwardEvent): ditto.
37259        * html/TextFieldInputType.h:
37260
372612010-12-23  Alexander Pavlov  <apavlov@chromium.org>
37262
37263        Reviewed by Joseph Pecoraro.
37264
37265        Web Inspector: After scrolling new property value and cancelling, removed property remains active in page style
37266        https://bugs.webkit.org/show_bug.cgi?id=51390
37267
37268        * inspector/front-end/StylesSidebarPane.js:
37269        (WebInspector.StylePropertyTreeElement.prototype):
37270
372712010-12-23  Noel Gordon  <noel.gordon@gmail.com>
37272
37273        Reviewed by Adam Barth.
37274
37275        [chromium] Reduce canvas.toDataURL("image/png") run-time costs 300%
37276        https://bugs.webkit.org/show_bug.cgi?id=51455
37277
37278        Chromium uses the libpng compression defaults.  Good compression results,
37279        but at much larger run-time cost compared to other browsers.  Chrome is 2
37280        times slower than Mozilla 3.6.12 and 3-4 times slower than Safari 5.0.3.
37281
37282        libpng has supported alternative compression methods for some time, they
37283        better meet the dual goals of good compression and run-time cost for the
37284        on-line case, and are well-documented.  Here use Huffman encoding.  It's
37285        2-20% faster than other encodings (Z_RLE, Z_FILTERED) and the compressed
37286        size is within 1% of the Safari 5.0.3 result independent of image size.
37287
37288        No change in behaviour, so no new tests.
37289
37290        * platform/image-encoders/skia/PNGImageEncoder.cpp:
37291        (WebCore::PNGImageEncoder::encode): Apply Huffman image encoding.
37292
372932010-12-22  Noel Gordon  <noel.gordon@gmail.com>
37294
37295        Reviewed by Darin Fisher.
37296
37297        [chromium] Optimize canvas.toDataURL("image/png") unpremultiplication loop
37298        https://bugs.webkit.org/show_bug.cgi?id=51321
37299
37300        Follow on from r73890, unroll the SkUnPreMultiply::PMColorToColor() call for
37301        the "image/png" encoder case viz., compute the unpremultiplication in-place.
37302        See https://bugs.webkit.org/show_bug.cgi?id=50804 for reference.
37303
37304        No new tests: canvas.toDataURL() is covered by existing tests.
37305
37306        * platform/image-encoders/skia/PNGImageEncoder.cpp:
37307        (WebCore::preMultipliedBGRAtoRGBA):
37308
373092010-12-22  Ariya Hidayat  <ariya@sencha.com>
37310
37311        Reviewed by Simon Fraser.
37312
37313        Implement skewX() and skewY() for CSSMatrix.
37314        https://bugs.webkit.org/show_bug.cgi?id=38335
37315
37316        * css/WebKitCSSMatrix.cpp:
37317        (WebCore::WebKitCSSMatrix::skew): Implemented skewX() and skewY().
37318        * css/WebKitCSSMatrix.h: Added skewX() and skewY().
37319        * css/WebKitCSSMatrix.idl: Added skewX() and skewY().
37320
373212010-12-22  Simon Fraser  <simon.fraser@apple.com>
37322
37323        Reviewed by Dan Bernstein.
37324
37325        Support unprefixed box-shadow property
37326        https://bugs.webkit.org/show_bug.cgi?id=51448
37327        
37328        Add support for the box-shadow CSS property. We'll currently render this
37329        similarly to -webkit-box-shadow, but a later fix will adjust the blur radius
37330        handling to match the spec.
37331
37332        Test: fast/css/box-shadow.html
37333
37334        * css/CSSComputedStyleDeclaration.cpp:
37335        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Implement getComputedStyle
37336        for box-shadow
37337        
37338        * css/CSSParser.cpp:
37339        (WebCore::CSSParser::parseValue):
37340        (WebCore::ShadowParseContext::ShadowParseContext):
37341        (WebCore::ShadowParseContext::commitValue):
37342        (WebCore::ShadowParseContext::commitLength):
37343        (WebCore::ShadowParseContext::commitColor): Support CSSPropertyBoxShadow
37344
37345        * css/CSSPropertyNames.in: add box-shadow
37346
37347        * css/CSSStyleSelector.cpp:
37348        (WebCore::CSSStyleSelector::applyProperty): Add CSSPropertyBoxShadow, and
37349        store in the ShadowData if this is -webkit-box-shadow or not. We'll use this
37350        to adjust radii later.
37351
37352        * css/SVGCSSStyleSelector.cpp:
37353        (WebCore::CSSStyleSelector::applySVGProperty): Add CSSPropertyBoxShadow.
37354        
37355        * page/animation/AnimationBase.cpp:
37356        (WebCore::blendFunc):
37357        (WebCore::PropertyWrapperShadow::blend):
37358        (WebCore::AnimationBase::ensurePropertyMap): Support animations of box-shadow.
37359        
37360        * rendering/style/ShadowData.cpp: Store a flag to say if this is a -webkit-box-shadow.
37361        (WebCore::ShadowData::ShadowData):
37362        (WebCore::ShadowData::operator==):
37363        * rendering/style/ShadowData.h:
37364        (WebCore::ShadowData::ShadowData):
37365        (WebCore::ShadowData::isWebkitBoxShadow):
37366
373672010-12-22  Michael Saboff  <msaboff@apple.com>
37368
37369        Reviewed by Sam Weinig.
37370
37371        REGRESSION: Can't shadow/overwrite window.constructor 
37372        (causes TypeError exception)
37373        https://bugs.webkit.org/show_bug.cgi?id=48953
37374
37375        Added code in the javascript code generator to create a setter for
37376        a constructor if the new extended attribute ReplaceableConstructor
37377        is present for the interface.
37378
37379        * bindings/scripts/CodeGeneratorJS.pm:
37380        * page/DOMWindow.idl:
37381
373822010-12-22  Steve Lacey  <sjl@chromium.org>
37383
37384        Reviewed by David Levin.
37385
37386        Change css for chromium media controls to deal with the timeline
37387        not expanding when the current time disappears. This happens when
37388        the width of the control drops below 240px.
37389
37390        This change results in a minor pixel difference - the timebar now
37391        aligns better with the time and when the time is not displayed is
37392        now perfectly centered. Disabling the affected tests for now
37393        and will rebaseline.
37394
37395        https://bugs.webkit.org/show_bug.cgi?id=51500
37396
37397        * css/mediaControlsChromium.css:
37398        (audio::-webkit-media-controls-timeline-container, video::-webkit-media-controls-timeline-container):
37399        (audio::-webkit-media-controls-current-time-display, video::-webkit-media-controls-current-time-display):
37400        (audio::-webkit-media-controls-time-remaining-display, video::-webkit-media-controls-time-remaining-display):
37401        (audio::-webkit-media-controls-timeline, video::-webkit-media-controls-timeline):
37402
374032010-12-22  Mihai Parparita  <mihaip@chromium.org>
37404
37405        Reviewed by Simon Fraser.
37406
37407        the shadow direction is negated in canvas context shadowOffsetY.
37408        https://bugs.webkit.org/show_bug.cgi?id=25619
37409        
37410        Invert shadow offset Y direction in 0-blur path in FontMac::drawGlyps
37411        if we're not transforming shadows (i.e. are rendering in a canvas). Also
37412        use CG shadows if there's a non-translate/flip transform applied
37413        (shadow offsets are supposed to ignore transforms, but the naive/simple
37414        implementation was taking them into account).
37415        
37416        Also does the equivalent changes to FontCGWin.
37417
37418        Test: fast/canvas/fillText-shadow.html
37419
37420        * platform/graphics/GraphicsContext.cpp:
37421        (WebCore::GraphicsContext::shadowsIgnoreTransforms):
37422        * platform/graphics/GraphicsContext.h:
37423        * platform/graphics/mac/FontMac.mm:
37424        (WebCore::Font::drawGlyphs):
37425        * platform/graphics/win/FontCGWin.cpp:
37426        (WebCore::Font::drawGlyphs):
37427
374282010-12-22  Sheriff Bot  <webkit.review.bot@gmail.com>
37429
37430        Unreviewed, rolling out r74503.
37431        http://trac.webkit.org/changeset/74503
37432        https://bugs.webkit.org/show_bug.cgi?id=51513
37433
37434        breaks chromium mac debug compile (Requested by tonyg-cr on
37435        #webkit).
37436
37437        * platform/graphics/chromium/ImageLayerChromium.cpp:
37438        (WebCore::ImageLayerChromium::updateContentsIfDirty):
37439        * platform/graphics/skia/GraphicsContext3DSkia.cpp:
37440        (WebCore::GraphicsContext3D::getImageData):
37441
374422010-12-22  Dan Bernstein  <mitz@apple.com>
37443
37444        Reviewed by Darin Adler.
37445
37446        Replace runtime checks for hyphenation API availability with compile-time checks.
37447
37448        * platform/text/cf/HyphenationCF.cpp:
37449        (WebCore::::createValueForNullKey): Changed to use CFLocaleCopyCurrent() instead of using the
37450        search locale, which is empty on Windows. On Mac, this is equivalent to using the search locale.
37451        (WebCore::canHyphenate): Added this implementation for when the hyphenation API is not available.
37452        It is identical to the implementation in Hyphenation.cpp.
37453        (WebCore::lastHyphenLocation): Ditto.
37454
374552010-12-22  Simon Fraser  <simon.fraser@apple.com>
37456
37457        Reviewed by Darin Adler.
37458
37459        Cache snapshots of plug-ins before painting, to avoid script running during painting
37460        https://bugs.webkit.org/show_bug.cgi?id=51493
37461        
37462        When FrameView is asked to do a flattening paint (e.g. when Safari snapshots,
37463        or when printing), plug-ins which otherwise use the CA rendering model
37464        are sent a paint event. Some plug-ins may run script while handling this event,
37465        or out of process plug-ins may process queued requests at this time. Running
37466        script while inside layout or painting can have bad consequences, because it
37467        can result in arbitrary changes to the render tree.
37468        
37469        This patch avoids sending plug-ins paint events inside of painting. Instead,
37470        we ask the plug-ins to cache a snapshot before we paint, and then the software
37471        paint simply draws that snapshot.
37472        
37473        Requires manual test, because the bug happens when Safari does
37474        a page snapshot. It's not possible to tell the Test Netscape Plug-in
37475        to paint without laying out, making an automated test impossible.
37476
37477        * manual-tests/plugins/plugin-paint-causes-layout.html: Added.
37478
37479        * page/FrameView.h:
37480        * page/FrameView.cpp:
37481        (WebCore::FrameView::paintContents): Notify all enclosed widgets
37482        that a flattening paint is going to happen.
37483        (WebCore::FrameView::notifyWidgetsInAllFrames): Utility method 
37484        that tells the RenderView in all subframes to notify their widgets.
37485
37486        * platform/Widget.h:
37487        (WebCore::Widget::notifyWidget): Generic method that can be used
37488        to send messages to widgets. Current messages are just 'before flattening paint'
37489        and 'after flattening paint'. Message has no payload.
37490
37491        * rendering/RenderView.h:
37492        * rendering/RenderView.cpp:
37493        (WebCore::RenderView::getRetainedWidgets):
37494        (WebCore::RenderView::releaseWidgets): Factor code out of updateWidgetPositions(),
37495        since we use it in two places now.
37496        
37497        (WebCore::RenderView::updateWidgetPositions): Use getRetainedWidgets() etc.
37498        (WebCore::RenderView::notifyWidgets): Retain all the widgets, then send
37499        them all the message.
37500
37501        * rendering/RenderWidget.h:
37502        * rendering/RenderWidget.cpp:
37503        (WebCore::RenderWidget::notifyWidget): Pass the message to the widget.
37504
375052010-12-22  Adrienne Walker  <enne@google.com>
37506
37507        Reviewed by Kenneth Russell.
37508
37509        Fix null pointer deref when restoring a lost WebGL context.
37510        https://bugs.webkit.org/show_bug.cgi?id=51494
37511
37512        No new tests, as context restored events are not currently testable.
37513
37514        * html/canvas/WebGLRenderingContext.cpp:
37515        (WebCore::WebGLRenderingContext::initializeNewContext):
37516        (WebCore::WebGLRenderingContext::restoreContext):
37517
375182010-12-22  Adam Bergkvist  <adam.bergkvist@ericsson.com>
37519
37520        Reviewed by Martin Robinson.
37521
37522        [GTK] Building with Blob support fails again
37523        https://bugs.webkit.org/show_bug.cgi?id=51392
37524
37525        Build fix.
37526
37527        * GNUmakefile.am:
37528
375292010-12-22  Dan Bernstein  <mitz@apple.com>
37530
37531        Reviewed by Anders Carlsson.
37532
37533        canHyphenate() always returns true for the default locale
37534        https://bugs.webkit.org/show_bug.cgi?id=51506
37535
37536        No test, since this change only affects performance.
37537
37538        * platform/text/cf/HyphenationCF.cpp:
37539        (WebCore::::createValueForNullKey): Return 0 if hyphenation is not supported for the default locale.
37540        (WebCore::::createValueForKey): Removed whitespace.
37541
375422010-12-22  Yury Semikhatsky  <yurys@chromium.org>
37543
37544        Reviewed by Joseph Pecoraro.
37545
37546        Web Inspector: script name gets parsed as HTML in Call stack panel
37547        https://bugs.webkit.org/show_bug.cgi?id=51468
37548
37549        * inspector/front-end/Placard.js:
37550        (WebInspector.Placard.prototype.set subtitle):
37551
375522010-12-22  Eric Carlson  <eric.carlson@apple.com>
37553
37554        Reviewed by Darin Adler.
37555
37556        MediaPlayer should look for MIME type in data: URL
37557        https://bugs.webkit.org/show_bug.cgi?id=51195
37558
37559        If no MIME type is passed from the media element for a data: URL, try to get it from
37560        the URL itself.
37561
37562        No new tests are possible because the MIME type is just passed to the media engine.
37563
37564        * platform/graphics/MediaPlayer.cpp:
37565        (WebCore::MediaPlayer::load):
37566
375672010-12-22  W. James MacLean  <wjmaclean@chromium.org>
37568
37569        Reviewed by Kenneth Russell.
37570
37571        [chromium] Add asserts to test for contiguous-pixel Skia bitmaps.
37572        https://bugs.webkit.org/show_bug.cgi?id=51186
37573
37574        No new tests. Behaviour not changed, but need the asserts to detect when assumptions violated.
37575
37576        * platform/graphics/chromium/ImageLayerChromium.cpp:
37577        (WebCore::ImageLayerChromium::updateContentsIfDirty):
37578        * platform/graphics/skia/GraphicsContext3DSkia.cpp:
37579        (WebCore::GraphicsContext3D::getImageData):
37580
375812010-12-22  Chris Fleizach  <cfleizach@apple.com>
37582
37583        Reviewed by Darin Adler.
37584
37585        WAI-ARIA menubar role mapped to AXGroup, should be AXMenuBar
37586        https://bugs.webkit.org/show_bug.cgi?id=51488
37587
37588        Test: platform/mac/accessibility/aria-menubar.html
37589
37590        * accessibility/AccessibilityObject.cpp:
37591        (WebCore::createARIARoleMap):
37592
375932010-12-22  Zhenyao Mo  <zmo@google.com>
37594
37595        Reviewed by Kenneth Russell.
37596
37597        CopyTex{Sub}Image2D check always if the bound fbo's internal color format is compatible
37598        https://bugs.webkit.org/show_bug.cgi?id=51423
37599
37600        * html/canvas/WebGLRenderingContext.cpp:
37601        (WebCore::WebGLRenderingContext::copyTexImage2D): Remove the isGLES2Compliant flag around format compatibility checking.
37602        (WebCore::WebGLRenderingContext::copyTexSubImage2D): Ditto.
37603        (WebCore::WebGLRenderingContext::getBoundFramebufferColorFormat): Helper function to get bound framebuffer's color format; deal with the case of webgl's internal fbo.
37604        * html/canvas/WebGLRenderingContext.h:
37605
376062010-12-22  Xan Lopez  <xlopez@igalia.com>
37607
37608        Reviewed by Gustavo Noronha.
37609
37610        [GTK] Compilation fixes with GTK+ 2.91.7
37611        https://bugs.webkit.org/show_bug.cgi?id=51487
37612
37613        * platform/gtk/GtkVersioning.h: do not define GDK_DISPLAY for
37614        backwards compatibility, it's now defined again in GTK+ 3.x.
37615        * platform/gtk/PasteboardHelper.cpp: do not call GDK functions to
37616        initialize global static variables (!). These are called when the
37617        .so is loaded, and they now require GType to be initialized and
37618        will crash. Initialize them once from the ctor, which is a more
37619        common pattern anyway.
37620        (WebCore::initGdkAtoms): new method to initialize static variables.
37621        (WebCore::PasteboardHelper::PasteboardHelper): call it.
37622        * plugins/gtk/PluginViewGtk.cpp: do not include gdkconfig.h when
37623        using GTK+ 3.x, since it's no longer installed.
37624
376252010-12-22  Dirk Schulze  <krit@wbekit.org>
37626
37627        Reviewed by Nikolas Zimmermann.
37628
37629        Cleanup SVG code according to the webkit style rules 2
37630        https://bugs.webkit.org/show_bug.cgi?id=51461
37631
37632        Second patch to fix indention and other style issues according to the WebKit style rules in the SVG code.
37633
37634        No changes of functionality, so no new tests. 
37635
37636        * svg/SVGFEDisplacementMapElement.cpp:
37637        (WebCore::SVGFEDisplacementMapElement::stringToChannel):
37638        * svg/SVGFEDistantLightElement.h:
37639        * svg/SVGFEFuncAElement.h:
37640        * svg/SVGFEFuncBElement.h:
37641        * svg/SVGFEFuncGElement.h:
37642        * svg/SVGFEFuncRElement.h:
37643        * svg/SVGFEMergeElement.cpp:
37644        (WebCore::SVGFEMergeElement::build):
37645        * svg/SVGFEMorphologyElement.cpp:
37646        * svg/SVGFEPointLightElement.h:
37647        * svg/SVGFESpecularLightingElement.cpp:
37648        (WebCore::SVGFESpecularLightingElement::findLights):
37649        * svg/SVGFESpotLightElement.h:
37650        * svg/SVGFitToViewBox.cpp:
37651        (WebCore::SVGFitToViewBox::parseViewBox):
37652        (WebCore::SVGFitToViewBox::isKnownAttribute):
37653        * svg/SVGFontFaceElement.cpp:
37654        (WebCore::cssPropertyIdForSVGAttributeName):
37655        * svg/SVGFontFaceElement.h:
37656        (WebCore::SVGFontFaceElement::associatedFontElement):
37657        * svg/SVGFontFaceNameElement.h:
37658        * svg/SVGFontFaceSrcElement.cpp:
37659        * svg/SVGFontFaceSrcElement.h:
37660        * svg/SVGFontFaceUriElement.h:
37661        * svg/SVGForeignObjectElement.h:
37662        * svg/SVGGlyphElement.cpp:
37663        (WebCore::parseArabicForm):
37664        (WebCore::parseOrientation):
37665        * svg/SVGGlyphElement.h:
37666        (WebCore::SVGGlyphIdentifier::SVGGlyphIdentifier):
37667        (WebCore::SVGGlyphIdentifier::inheritedValue):
37668        (WebCore::SVGGlyphIdentifier::operator==):
37669        (WebCore::SVGGlyphElement::rendererIsNeeded):
37670        * svg/SVGGlyphMap.h:
37671        (WebCore::GlyphMapNode::GlyphMapNode):
37672        (WebCore::GlyphMapNode::create):
37673        (WebCore::SVGGlyphMap::SVGGlyphMap):
37674        (WebCore::SVGGlyphMap::add):
37675        (WebCore::SVGGlyphMap::compareGlyphPriority):
37676        (WebCore::SVGGlyphMap::get):
37677        (WebCore::SVGGlyphMap::clear):
37678        * svg/SVGGradientElement.cpp:
37679        * svg/SVGHKernElement.cpp:
37680        * svg/SVGHKernElement.h:
37681        (WebCore::SVGHKernElement::rendererIsNeeded):
37682        * svg/SVGImageElement.h:
37683        * svg/SVGImageLoader.cpp:
37684        * svg/SVGImageLoader.h:
37685        * svg/SVGLangSpace.cpp:
37686        (WebCore::SVGLangSpace::parseMappedAttribute):
37687        (WebCore::SVGLangSpace::isKnownAttribute):
37688        * svg/SVGLangSpace.h:
37689        (WebCore::SVGLangSpace::xmllang):
37690        * svg/SVGMetadataElement.h:
37691        * svg/SVGMissingGlyphElement.h:
37692        (WebCore::SVGMissingGlyphElement::rendererIsNeeded):
37693        * svg/SVGPaint.cpp:
37694        (WebCore::SVGPaint::cssText):
37695        * svg/SVGPaint.h:
37696        (WebCore::SVGPaint::create):
37697        (WebCore::SVGPaint::paintType):
37698        (WebCore::SVGPaint::isSVGPaint):
37699        * svg/SVGParserUtilities.cpp:
37700        * svg/SVGParserUtilities.h:
37701        (WebCore::isWhitespace):
37702        (WebCore::skipOptionalSpaces):
37703        (WebCore::skipOptionalSpacesOrDelimiter):
37704        * svg/SVGPathElement.cpp:
37705        * svg/SVGPathParserFactory.h:
37706        * svg/SVGPathSegList.h:
37707
377082010-12-22  Chris Fleizach  <cfleizach@apple.com>
37709
37710        Reviewed by Sam Weinig.
37711
37712        AX: WAI-ARIA textbox role needs different AXRole, depending on value of aria-multiline property
37713        https://bugs.webkit.org/show_bug.cgi?id=51481
37714
37715        Support aria-multiline and use it to change the role of an ARIA "textbox" 
37716        from AXTextArea to AXTextField.
37717
37718        Test: platform/mac/accessibility/aria-multiline.html
37719
37720        * accessibility/AccessibilityObject.cpp:
37721        (WebCore::AccessibilityObject::ariaIsMultiline):
37722        * accessibility/AccessibilityObject.h:
37723        (WebCore::AccessibilityObject::isPasswordField):
37724        (WebCore::AccessibilityObject::isTextControl):
37725        * accessibility/AccessibilityRenderObject.cpp:
37726        (WebCore::AccessibilityRenderObject::determineAriaRoleAttribute):
37727        * accessibility/AccessibilityRenderObject.h:
37728        * html/HTMLAttributeNames.in:
37729
377302010-12-22  Simon Fraser  <simon.fraser@apple.com>
37731
37732        Reviewed by Dan Bernstein.
37733
37734        CSS 2.1 failure: counter-increment-013 fails
37735        https://bugs.webkit.org/show_bug.cgi?id=51483
37736        
37737        Clamp the counter-increment property to the valid range of signed
37738        integers.
37739
37740        Test: fast/css/counters/counter-increment-overflow.html
37741
37742        * css/CSSParser.cpp:
37743        (WebCore::clampToSignedInteger):
37744        (WebCore::CSSParser::parseCounter):
37745
377462010-12-22  Dan Bernstein  <mitz@apple.com>
37747
37748        Rubber-stamped by Mark Rowe.
37749
37750        Changed WebKitTools to Tools in script build phases.
37751
37752        * WebCore.xcodeproj/project.pbxproj:
37753
377542010-12-21  Vangelis Kokkevis  <vangelis@chromium.org>
37755
37756        Reviewed by Kenneth Russell.
37757
37758        [chromium] Fixing crash with empty render surfaces.
37759        https://bugs.webkit.org/show_bug.cgi?id=51432
37760
37761        Test: platform/chromium/compositing/empty-render-surface-crasher.html
37762
37763        * platform/graphics/chromium/RenderSurfaceChromium.cpp:
37764        (WebCore::RenderSurfaceChromium::draw):
37765
377662010-12-21  Pavel Podivilov  <podivilov@chromium.org>
37767
37768        Reviewed by Yury Semikhatsky.
37769
37770        Web Inspector: persist JavaScript breakpoints in frontend settings.
37771        https://bugs.webkit.org/show_bug.cgi?id=48434
37772
37773        * bindings/js/ScriptDebugServer.cpp:
37774        (WebCore::ScriptDebugServer::setBreakpoint):
37775        (WebCore::ScriptDebugServer::removeBreakpoint):
37776        * bindings/js/ScriptDebugServer.h:
37777        * bindings/v8/DebuggerScript.js:
37778        ():
37779        * bindings/v8/ScriptDebugServer.cpp:
37780        (WebCore::ScriptDebugServer::setBreakpoint):
37781        (WebCore::ScriptDebugServer::removeBreakpoint):
37782        * bindings/v8/ScriptDebugServer.h:
37783        * inspector/Inspector.idl:
37784        * inspector/InspectorBackend.cpp:
37785        * inspector/InspectorController.cpp:
37786        (WebCore::InspectorController::InspectorController):
37787        (WebCore::InspectorController::enableDebuggerFromFrontend):
37788        (WebCore::InspectorController::setStickyBreakpoints):
37789        (WebCore::InspectorController::restoreStickyBreakpoint):
37790        * inspector/InspectorController.h:
37791        * inspector/InspectorDebuggerAgent.cpp:
37792        (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
37793        (WebCore::InspectorDebuggerAgent::setStickyBreakpoint):
37794        (WebCore::InspectorDebuggerAgent::setBreakpoint):
37795        (WebCore::InspectorDebuggerAgent::removeBreakpoint):
37796        (WebCore::InspectorDebuggerAgent::restoreBreakpoint):
37797        (WebCore::InspectorDebuggerAgent::clearForPageNavigation):
37798        (WebCore::InspectorDebuggerAgent::didParseSource):
37799        * inspector/InspectorDebuggerAgent.h:
37800        * inspector/front-end/Breakpoint.js:
37801        (WebInspector.Breakpoint):
37802        (WebInspector.Breakpoint.prototype.remove):
37803        * inspector/front-end/BreakpointManager.js:
37804        (WebInspector.BreakpointManager):
37805        (WebInspector.DOMBreakpoint.prototype._serializeToJSON):
37806        (WebInspector.JavaScriptBreakpoint):
37807        (WebInspector.XHRBreakpoint.prototype._serializeToJSON):
37808        * inspector/front-end/DebuggerModel.js:
37809        (WebInspector.DebuggerModel):
37810        * inspector/front-end/ScriptsPanel.js:
37811        (WebInspector.ScriptsPanel.prototype._debuggerPaused):
37812        * inspector/front-end/SourceFrame.js:
37813
378142010-12-20  Antti Koivisto  <antti@apple.com>
37815
37816        Reviewed by Alexey Proskuryakov.
37817
37818        https://bugs.webkit.org/show_bug.cgi?id=51354
37819        Don't block rendering and script execution on deferred stylesheets
37820        
37821        - Don't add low priority stylesheets to the document pending sheet count.
37822        - Resolve media attribute fully for the link element stylesheet load.
37823
37824        Test: http/tests/local/stylesheet-and-script-load-order-media-print.html
37825
37826        * html/HTMLLinkElement.cpp:
37827        (WebCore::HTMLLinkElement::HTMLLinkElement):
37828        (WebCore::HTMLLinkElement::~HTMLLinkElement):
37829        (WebCore::HTMLLinkElement::setDisabledState):
37830        (WebCore::HTMLLinkElement::process):
37831        (WebCore::HTMLLinkElement::sheetLoaded):
37832        (WebCore::HTMLLinkElement::addPendingSheet):
37833        (WebCore::HTMLLinkElement::removePendingSheet):
37834        * html/HTMLLinkElement.h:
37835
378362010-12-22  Sheriff Bot  <webkit.review.bot@gmail.com>
37837
37838        Unreviewed, rolling out r74473.
37839        http://trac.webkit.org/changeset/74473
37840        https://bugs.webkit.org/show_bug.cgi?id=51463
37841
37842        broke compilation on leopard intel release (Requested by
37843        podivilov on #webkit).
37844
37845        * bindings/js/ScriptDebugServer.cpp:
37846        (WebCore::ScriptDebugServer::setBreakpoint):
37847        (WebCore::ScriptDebugServer::removeBreakpoint):
37848        * bindings/js/ScriptDebugServer.h:
37849        * bindings/v8/DebuggerScript.js:
37850        ():
37851        * bindings/v8/ScriptDebugServer.cpp:
37852        (WebCore::ScriptDebugServer::setBreakpoint):
37853        (WebCore::ScriptDebugServer::removeBreakpoint):
37854        * bindings/v8/ScriptDebugServer.h:
37855        * inspector/Inspector.idl:
37856        * inspector/InspectorBackend.cpp:
37857        * inspector/InspectorController.cpp:
37858        (WebCore::InspectorController::InspectorController):
37859        (WebCore::InspectorController::enableDebuggerFromFrontend):
37860        (WebCore::InspectorController::setStickyBreakpoints):
37861        (WebCore::InspectorController::restoreStickyBreakpoint):
37862        (WebCore::InspectorController::breakpointsSettingKey):
37863        (WebCore::InspectorController::loadBreakpoints):
37864        (WebCore::InspectorController::saveBreakpoints):
37865        * inspector/InspectorController.h:
37866        * inspector/InspectorDebuggerAgent.cpp:
37867        (WebCore::formatBreakpointId):
37868        (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
37869        (WebCore::InspectorDebuggerAgent::setBreakpoint):
37870        (WebCore::InspectorDebuggerAgent::removeBreakpoint):
37871        (WebCore::InspectorDebuggerAgent::clearForPageNavigation):
37872        (WebCore::InspectorDebuggerAgent::md5Base16):
37873        (WebCore::InspectorDebuggerAgent::loadBreakpoints):
37874        (WebCore::InspectorDebuggerAgent::saveBreakpoints):
37875        (WebCore::InspectorDebuggerAgent::didParseSource):
37876        * inspector/InspectorDebuggerAgent.h:
37877        * inspector/front-end/Breakpoint.js:
37878        (WebInspector.Breakpoint):
37879        (WebInspector.Breakpoint.jsBreakpointId):
37880        (WebInspector.Breakpoint.prototype.set enabled):
37881        (WebInspector.Breakpoint.prototype.get id):
37882        (WebInspector.Breakpoint.prototype.set condition):
37883        (WebInspector.Breakpoint.prototype.remove):
37884        * inspector/front-end/BreakpointManager.js:
37885        (WebInspector.BreakpointManager):
37886        (WebInspector.BreakpointManager.prototype._createDOMBreakpoint):
37887        (WebInspector.BreakpointManager.prototype._createEventListenerBreakpoint):
37888        (WebInspector.BreakpointManager.prototype._createXHRBreakpoint):
37889        (WebInspector.BreakpointManager.prototype._setNativeBreakpoint):
37890        (WebInspector.BreakpointManager.prototype._setNativeBreakpointEnabled):
37891        (WebInspector.BreakpointManager.prototype._removeNativeBreakpoint):
37892        (WebInspector.BreakpointManager.prototype.breakpointViewForEventData):
37893        (WebInspector.BreakpointManager.prototype._projectChanged):
37894        (WebInspector.BreakpointManager.prototype.restoreDOMBreakpoints):
37895        (WebInspector.BreakpointManager.prototype._saveBreakpoints):
37896        (WebInspector.BreakpointManager.prototype._validateBreakpoints):
37897        (WebInspector.DOMBreakpoint.prototype._serializeToJSON):
37898        (WebInspector.EventListenerBreakpoint.prototype._serializeToJSON):
37899        (WebInspector.XHRBreakpoint.prototype._serializeToJSON):
37900        (WebInspector.NativeBreakpointView.prototype.set enabled):
37901        (WebInspector.NativeBreakpointView.prototype.remove):
37902        * inspector/front-end/DebuggerModel.js:
37903        (WebInspector.DebuggerModel):
37904        (WebInspector.DebuggerModel.prototype.setOneTimeBreakpoint):
37905        (WebInspector.DebuggerModel.prototype.removeOneTimeBreakpoint):
37906        (WebInspector.DebuggerModel.prototype.setBreakpoint):
37907        (WebInspector.DebuggerModel.prototype.findBreakpoint):
37908        (WebInspector.DebuggerModel.prototype.reset):
37909        (WebInspector.DebuggerModel.prototype._setBreakpoint):
37910        (WebInspector.DebuggerModel.prototype._breakpointRemoved):
37911        (WebInspector.DebuggerModel.prototype._setBreakpointOnBackend):
37912        (WebInspector.DebuggerModel.prototype.breakpointRestored):
37913        (WebInspector.DebuggerModel.prototype.pausedScript):
37914        (WebInspector.DebuggerModel.prototype.resumedScript):
37915        * inspector/front-end/ScriptsPanel.js:
37916        (WebInspector.ScriptsPanel.prototype.continueToLine):
37917        (WebInspector.ScriptsPanel.prototype._debuggerPaused):
37918        * inspector/front-end/SourceFrame.js:
37919        (WebInspector.SourceFrame.prototype._contextMenu.addConditionalBreakpoint.didEditBreakpointCondition):
37920        (WebInspector.SourceFrame.prototype._contextMenu.addConditionalBreakpoint):
37921        (WebInspector.SourceFrame.prototype._contextMenu.else.editBreakpointCondition.didEditBreakpointCondition):
37922        (WebInspector.SourceFrame.prototype._contextMenu.else.editBreakpointCondition):
37923        (WebInspector.SourceFrame.prototype._contextMenu):
37924        (WebInspector.SourceFrame.prototype._mouseDown):
37925        (WebInspector.SourceFrame.prototype._continueToLine):
37926        (WebInspector.SourceFrame.prototype._setBreakpoint):
37927
379282010-12-21  Pavel Podivilov  <podivilov@chromium.org>
37929
37930        Reviewed by Yury Semikhatsky.
37931
37932        Web Inspector: persist JavaScript breakpoints in frontend settings.
37933        https://bugs.webkit.org/show_bug.cgi?id=48434
37934
37935        * bindings/js/ScriptDebugServer.cpp:
37936        (WebCore::ScriptDebugServer::setBreakpoint):
37937        (WebCore::ScriptDebugServer::removeBreakpoint):
37938        * bindings/js/ScriptDebugServer.h:
37939        * bindings/v8/DebuggerScript.js:
37940        ():
37941        * bindings/v8/ScriptDebugServer.cpp:
37942        (WebCore::ScriptDebugServer::setBreakpoint):
37943        (WebCore::ScriptDebugServer::removeBreakpoint):
37944        * bindings/v8/ScriptDebugServer.h:
37945        * inspector/Inspector.idl:
37946        * inspector/InspectorBackend.cpp:
37947        * inspector/InspectorController.cpp:
37948        (WebCore::InspectorController::InspectorController):
37949        (WebCore::InspectorController::enableDebuggerFromFrontend):
37950        (WebCore::InspectorController::setStickyBreakpoints):
37951        (WebCore::InspectorController::restoreStickyBreakpoint):
37952        * inspector/InspectorController.h:
37953        * inspector/InspectorDebuggerAgent.cpp:
37954        (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
37955        (WebCore::InspectorDebuggerAgent::setStickyBreakpoint):
37956        (WebCore::InspectorDebuggerAgent::setBreakpoint):
37957        (WebCore::InspectorDebuggerAgent::removeBreakpoint):
37958        (WebCore::InspectorDebuggerAgent::restoreBreakpoint):
37959        (WebCore::InspectorDebuggerAgent::clearForPageNavigation):
37960        (WebCore::InspectorDebuggerAgent::didParseSource):
37961        * inspector/InspectorDebuggerAgent.h:
37962        * inspector/front-end/Breakpoint.js:
37963        (WebInspector.Breakpoint):
37964        (WebInspector.Breakpoint.prototype.remove):
37965        * inspector/front-end/BreakpointManager.js:
37966        (WebInspector.BreakpointManager):
37967        (WebInspector.DOMBreakpoint.prototype._serializeToJSON):
37968        (WebInspector.JavaScriptBreakpoint):
37969        (WebInspector.XHRBreakpoint.prototype._serializeToJSON):
37970        * inspector/front-end/DebuggerModel.js:
37971        (WebInspector.DebuggerModel):
37972        * inspector/front-end/ScriptsPanel.js:
37973        (WebInspector.ScriptsPanel.prototype._debuggerPaused):
37974        * inspector/front-end/SourceFrame.js:
37975
379762010-12-22  Dirk Schulze  <krit@wbekit.org>
37977
37978        Reviewed by Nikolas Zimmermann.
37979
37980        Cleanup SVG code according to the webkit style rules 1
37981        https://bugs.webkit.org/show_bug.cgi?id=51411
37982
37983        First patch to fix indention and other style issues according to the WebKit style rules in the SVG code.
37984
37985        No change of functionality. 
37986
37987        * svg/ColorDistance.cpp:
37988        (WebCore::ColorDistance::isZero):
37989        * svg/ColorDistance.h:
37990        * svg/ElementTimeControl.h:
37991        (WebCore::ElementTimeControl::~ElementTimeControl):
37992        * svg/LinearGradientAttributes.h:
37993        (WebCore::LinearGradientAttributes::LinearGradientAttributes):
37994        (WebCore::LinearGradientAttributes::x1):
37995        (WebCore::LinearGradientAttributes::y1):
37996        (WebCore::LinearGradientAttributes::x2):
37997        (WebCore::LinearGradientAttributes::y2):
37998        (WebCore::LinearGradientAttributes::setX1):
37999        (WebCore::LinearGradientAttributes::setY1):
38000        (WebCore::LinearGradientAttributes::setX2):
38001        (WebCore::LinearGradientAttributes::setY2):
38002        (WebCore::LinearGradientAttributes::hasX1):
38003        (WebCore::LinearGradientAttributes::hasY1):
38004        (WebCore::LinearGradientAttributes::hasX2):
38005        (WebCore::LinearGradientAttributes::hasY2):
38006        * svg/RadialGradientAttributes.h:
38007        (WebCore::RadialGradientAttributes::RadialGradientAttributes):
38008        (WebCore::RadialGradientAttributes::cx):
38009        (WebCore::RadialGradientAttributes::cy):
38010        (WebCore::RadialGradientAttributes::r):
38011        (WebCore::RadialGradientAttributes::fx):
38012        (WebCore::RadialGradientAttributes::fy):
38013        (WebCore::RadialGradientAttributes::setCx):
38014        (WebCore::RadialGradientAttributes::setCy):
38015        (WebCore::RadialGradientAttributes::setR):
38016        (WebCore::RadialGradientAttributes::setFx):
38017        (WebCore::RadialGradientAttributes::setFy):
38018        (WebCore::RadialGradientAttributes::hasCx):
38019        (WebCore::RadialGradientAttributes::hasCy):
38020        (WebCore::RadialGradientAttributes::hasR):
38021        (WebCore::RadialGradientAttributes::hasFx):
38022        (WebCore::RadialGradientAttributes::hasFy):
38023        * svg/SVGAngle.cpp:
38024        * svg/SVGAnimateColorElement.h:
38025        * svg/SVGAnimateElement.cpp:
38026        (WebCore::SVGAnimateElement::calculateAnimatedValue):
38027        (WebCore::SVGAnimateElement::calculateDistance):
38028        * svg/SVGAnimateElement.h:
38029        * svg/SVGAnimateMotionElement.cpp:
38030        * svg/SVGAnimateMotionElement.h:
38031        * svg/SVGAnimatedNumber.h:
38032        * svg/SVGAnimationElement.cpp:
38033        (WebCore::parseKeyTimes):
38034        (WebCore::SVGAnimationElement::currentValuesForValuesAnimation):
38035        (WebCore::SVGAnimationElement::updateAnimation):
38036        * svg/SVGClipPathElement.cpp:
38037        (WebCore::SVGClipPathElement::svgAttributeChanged):
38038        * svg/SVGColor.h:
38039        (WebCore::SVGColor::create):
38040        (WebCore::SVGColor::createCurrentColor):
38041        (WebCore::SVGColor::colorType):
38042        (WebCore::SVGColor::setRGBColor):
38043        (WebCore::SVGColor::color):
38044        (WebCore::SVGColor::isSVGColor):
38045        * svg/SVGCursorElement.cpp:
38046        (WebCore::SVGCursorElement::svgAttributeChanged):
38047        * svg/SVGCursorElement.h:
38048        * svg/SVGDescElement.h:
38049        (WebCore::SVGDescElement::rendererIsNeeded):
38050        * svg/SVGDocument.cpp:
38051        * svg/SVGDocument.h:
38052        (WebCore::SVGDocument::create):
38053        (WebCore::SVGDocument::isSVGDocument):
38054        * svg/SVGElement.h:
38055        (WebCore::SVGElement::isStyled):
38056        (WebCore::SVGElement::isStyledTransformable):
38057        (WebCore::SVGElement::isStyledLocatable):
38058        (WebCore::SVGElement::isSVG):
38059        (WebCore::SVGElement::isFilterEffect):
38060        (WebCore::SVGElement::isGradientStop):
38061        (WebCore::SVGElement::isTextContent):
38062        (WebCore::SVGElement::isValid):
38063        (WebCore::SVGElement::svgAttributeChanged):
38064        (WebCore::SVGElement::synchronizeProperty):
38065        (WebCore::SVGElement::supplementalTransform):
38066        (WebCore::SVGElement::invalidateSVGAttributes):
38067        (WebCore::SVGElement::rendererIsNeeded):
38068        (WebCore::SVGElement::needsPendingResourceHandling):
38069        (WebCore::SVGElement::buildPendingResource):
38070        * svg/SVGElementInstance.h:
38071        (WebCore::SVGElementInstance::create):
38072        (WebCore::SVGElementInstance::correspondingElement):
38073        (WebCore::SVGElementInstance::correspondingUseElement):
38074        (WebCore::SVGElementInstance::shadowTreeElement):
38075        (WebCore::SVGElementInstance::parentNode):
38076        (WebCore::SVGElementInstance::previousSibling):
38077        (WebCore::SVGElementInstance::nextSibling):
38078        (WebCore::SVGElementInstance::firstChild):
38079        (WebCore::SVGElementInstance::lastChild):
38080        (WebCore::SVGElementInstance::ownerDocument):
38081        (WebCore::SVGElementInstance::toNode):
38082        (WebCore::SVGElementInstance::toSVGElementInstance):
38083        (WebCore::SVGElementInstance::hasChildNodes):
38084        (WebCore::SVGElementInstance::setFirstChild):
38085        (WebCore::SVGElementInstance::setLastChild):
38086        (WebCore::SVGElementInstance::setNextSibling):
38087        (WebCore::SVGElementInstance::setPreviousSibling):
38088        (WebCore::SVGElementInstance::refEventTarget):
38089        (WebCore::SVGElementInstance::derefEventTarget):
38090        * svg/SVGElementInstanceList.h:
38091        (WebCore::SVGElementInstanceList::create):
38092        * svg/SVGException.h:
38093        (WebCore::SVGException::create):
38094        (WebCore::SVGException::SVGException):
38095        * svg/SVGFEColorMatrixElement.cpp:
38096        (WebCore::SVGFEColorMatrixElement::parseMappedAttribute):
38097        * svg/SVGFEComponentTransferElement.cpp:
38098        (WebCore::SVGFEComponentTransferElement::build):
38099        * svg/SVGFEDiffuseLightingElement.cpp:
38100        (WebCore::SVGFEDiffuseLightingElement::findLights):
38101        * svg/SVGFont.cpp:
38102        (WebCore::convertEmUnitToPixel):
38103        * svg/SVGUseElement.cpp:
38104        (WebCore::isDirectReference):
38105
381062010-12-22  Dai Mikurube  <dmikurube@google.com>
38107
38108        Reviewed by Kent Tamura.
38109
38110        https://bugs.webkit.org/show_bug.cgi?id=51289
38111        Initial state of checkValidity() and :invalid are incorrect with <select required>
38112
38113        * html/HTMLSelectElement.cpp:
38114        (WebCore::HTMLSelectElement::childrenChanged): setNeedsValidityCheck() after <select>'s children change.
38115
381162010-12-22  Alexander Pavlov  <apavlov@chromium.org>
38117
38118        Reviewed by Joseph Pecoraro.
38119
38120        Web Inspector: Styles pane fails to display properties from a broken CSS rule correctly
38121        https://bugs.webkit.org/show_bug.cgi?id=51405
38122
38123        Invoke markPropertyStart() after the parser has restored after an error.
38124
38125        * css/CSSGrammar.y:
38126
381272010-12-22  Dai Mikurube  <dmikurube@google.com>
38128
38129        Reviewed by Kent Tamura.
38130
38131        Assertion failure with <select multiple required>
38132        https://bugs.webkit.org/show_bug.cgi?id=51260
38133
38134        Test: fast/css/pseudo-valid-select-click.html
38135
38136        * dom/SelectElement.cpp: updateValidity() after selecting some options of ListBox-typed <select> elements to update valid() cache.
38137        (WebCore::SelectElement::updateListBoxSelection):
38138
381392010-12-21  Darin Adler  <darin@apple.com>
38140
38141        Unreviewed correction to unreviewed build fix for r74447.
38142
38143        Inappropriate code was left behind in sourceURI function for non-Dashboard platforms.
38144
38145        * html/HTMLImageLoader.cpp:
38146        (WebCore::HTMLImageLoader::sourceURI): Change the logic so all the bug-workaround
38147        logic is inside the #ifdef.
38148
381492010-12-21  Simon Fraser  <simon.fraser@apple.com>
38150
38151        Reviewed by Darin Adler.
38152
38153        Include the shadow color space as part of the GraphicsContext state
38154        https://bugs.webkit.org/show_bug.cgi?id=51420
38155        
38156        Include the ColorSpace for the shadow color as part of the graphics
38157        state. This will be used later for a shadow implementation that
38158        does not rely on platform shadow code.
38159
38160        * platform/graphics/GraphicsContext.cpp:
38161        (WebCore::GraphicsContext::setShadow):
38162        (WebCore::GraphicsContext::clearShadow):
38163        (WebCore::GraphicsContext::getShadow):
38164        * platform/graphics/GraphicsContext.h:
38165        (WebCore::GraphicsContextState::GraphicsContextState):
38166        * platform/graphics/chromium/FontChromiumWin.cpp:
38167        (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::drawGlyphs):
38168        (WebCore::Font::drawComplexText):
38169        * platform/graphics/mac/FontMac.mm:
38170        (WebCore::Font::drawGlyphs):
38171        * platform/graphics/skia/SkiaFontWin.cpp:
38172        (WebCore::windowsCanHandleDrawTextShadow):
38173        * platform/graphics/win/FontCGWin.cpp:
38174        (WebCore::drawGDIGlyphs):
38175        (WebCore::Font::drawGlyphs):
38176        * platform/graphics/wince/GraphicsContextWinCE.cpp:
38177        (WebCore::GraphicsContext::fillRoundedRect):
38178        (WebCore::GraphicsContext::drawText):
38179
381802010-12-21  Dan Bernstein  <mitz@apple.com>
38181
38182        Reviewed by Sam Weinig.
38183
38184        <rdar://problem/8668230> REGRESSION (r71884): Returning alternate requests from willSendRequest can prevent other requests from ever being sent
38185        https://bugs.webkit.org/show_bug.cgi?id=51413
38186
38187        71884 was wrong in moving willSendRequest to ResourceLoader::start(). It’s wrong to do all the
38188        scheduling, which is host-dependent, before calling willSendRequest, because the latter can
38189        change the host.
38190
38191        * loader/NetscapePlugInStreamLoader.cpp:
38192        (WebCore::NetscapePlugInStreamLoader::create): Check the return value from ResourceLoader::init()
38193        and return 0 if it is false.
38194        * loader/ResourceLoader.cpp:
38195        (WebCore::ResourceLoader::init): Made this function return a boolean. Moved the call to willSendRequest()
38196        from start() into here. Return false if willSendRequest() canceled the request.
38197        (WebCore::ResourceLoader::start): Moved the call to willSendRequest() from here to init().
38198        * loader/ResourceLoader.h:
38199        * loader/SubresourceLoader.cpp:
38200        (WebCore::SubresourceLoader::create): Check the return value from ResourceLoader::init()
38201        and return 0 if it is false.
38202
382032010-12-21  Benjamin Kalman  <kalman@chromium.org>
38204
38205        Reviewed by Darin Adler.
38206
38207        Shift-End does not select to the end of the line
38208        https://bugs.webkit.org/show_bug.cgi?id=50610
38209
38210        Let the VisiblePosition affinity for end of line selection to be set by
38211        visibleEnd/visibleStart rather than using end/start and always using UPSTREAM.
38212
38213        Test: editing/selection/extend-to-line-boundary.html
38214
38215        * editing/SelectionController.cpp:
38216        (WebCore::SelectionController::positionForPlatform): Use visibleStart/visibleEnd rather than
38217        start/end.
38218        (WebCore::SelectionController::modifyExtendingForward): Don't explicitly use UPSTREAM affinity.
38219
382202010-12-21  Jan Erik Hanssen  <jhanssen@sencha.com>
38221
38222        Reviewed by Simon Fraser.
38223
38224        matrix3d() must take the zoom factor into account
38225        https://bugs.webkit.org/show_bug.cgi?id=51408
38226
38227        Test: transforms/3d/general/matrix-with-zoom-3d.html
38228
38229        * css/CSSStyleSelector.cpp:
38230        (WebCore::CSSStyleSelector::createTransformOperations):
38231
382322010-12-21  Adam Barth  <abarth@webkit.org>
38233
38234        Reviewed by Darin Adler.
38235
38236        Move V8 to common implementation of window.open
38237        https://bugs.webkit.org/show_bug.cgi?id=51385
38238
38239        I also changed some function names to match WebKit style.  There's a
38240        bunch of code we can remove in the generic bindings now.  I'll do that
38241        in the next patch.
38242
38243        * bindings/generic/BindingDOMWindow.h:
38244        (WebCore::::open):
38245        * bindings/generic/BindingFrame.h:
38246        (WebCore::::navigateIfAllowed):
38247        * bindings/generic/BindingSecurity.h:
38248        (WebCore::::canAccessWindow):
38249        (WebCore::::allowPopUp):
38250        (WebCore::::shouldAllowNavigation):
38251        * bindings/generic/GenericBinding.h:
38252        (WebCore::completeURL):
38253        * bindings/js/JSDOMBinding.cpp:
38254        (WebCore::toLexicalFrame):
38255        (WebCore::toDynamicFrame):
38256        * bindings/js/specialization/JSBindingState.cpp:
38257        (WebCore::::activeFrame):
38258        (WebCore::::firstFrame):
38259        * bindings/js/specialization/JSBindingState.h:
38260        * bindings/v8/V8Utilities.cpp:
38261        (WebCore::callingOrEnteredFrame):
38262        * bindings/v8/custom/V8DOMWindowCustom.cpp:
38263        (WebCore::V8DOMWindow::locationAccessorSetter):
38264        (WebCore::V8DOMWindow::openCallback):
38265        * bindings/v8/specialization/V8BindingState.cpp:
38266        (WebCore::::activeWindow):
38267        (WebCore::::firstWindow):
38268        (WebCore::::activeFrame):
38269        (WebCore::::firstFrame):
38270        * bindings/v8/specialization/V8BindingState.h:
38271
382722010-12-21  Ryosuke Niwa  <rniwa@webkit.org>
38273
38274        Unreviewed build fix for r74447.
38275
38276        Call usesDashboardBackwardCompatibilityMode() only if DASHBOARD_SUPPORT is enabled.
38277
38278        * html/HTMLImageLoader.cpp:
38279        (WebCore::HTMLImageLoader::sourceURI):
38280
382812010-12-21  Dan Bernstein  <mitz@apple.com>
38282
38283        Reviewed by John Sullivan.
38284
38285        <rdar://problem/8725702> REGRESSION (r68854): Broken image icon seen in the Address Book Dashboard widget
38286
38287        Test: platform/mac/fast/dom/HTMLImageElement/dashboard-src-quirk.html
38288
38289        The Address Book widget sets the src attribute of an img element to a string that looks like a CSS
38290        URL value. This used to work prior to r68854, because some DOM attribute parsing functions were using
38291        the wrong function to parse URL attributes (last named deprecatedParseURL).
38292
38293        * html/HTMLImageLoader.cpp:
38294        (WebCore::HTMLImageLoader::sourceURI): In Dashboard, check if the src attribute begins with 'url("'
38295        and ends with '")', and if so, strip those away.
38296
382972010-12-21  Ryosuke Niwa  <rniwa@webkit.org>
38298
38299        Reviewed by Darin Adler.
38300
38301        CharacterData needs cleanup
38302        https://bugs.webkit.org/show_bug.cgi?id=51426
38303
38304        Extracted CharacterData::setDataAndNotify and CharacterData::updateRenderer.
38305
38306        * dom/CharacterData.cpp:
38307        (WebCore::CharacterData::setData): Calls setDataAndUpdate.
38308        (WebCore::CharacterData::parserAppendData): Ditto.
38309        (WebCore::CharacterData::appendData): Ditto.
38310        (WebCore::CharacterData::insertData): Ditto.
38311        (WebCore::CharacterData::deleteData): Ditto.
38312        (WebCore::CharacterData::replaceData): Ditto.
38313        (WebCore::CharacterData::setDataAndUpdate): Added.
38314        (WebCore::CharacterData::updateRenderer): Added.
38315        (WebCore::CharacterData::dispatchModifiedEvent): Renamed prevValue to oldData.
38316        * dom/CharacterData.h:
38317
383182010-12-21  Sheriff Bot  <webkit.review.bot@gmail.com>
38319
38320        Unreviewed, rolling out r74420.
38321        http://trac.webkit.org/changeset/74420
38322        https://bugs.webkit.org/show_bug.cgi?id=51436
38323
38324        causes editing/pasteboard/paste-noscript-xhtml.xhtml to crash
38325        (Requested by tonyg-cr on #webkit).
38326
38327        * dom/DocumentParser.cpp:
38328        * dom/DocumentParser.h:
38329        * html/parser/HTMLDocumentParser.cpp:
38330        * html/parser/HTMLDocumentParser.h:
38331        * html/parser/HTMLParserScheduler.cpp:
38332        (WebCore::HTMLParserScheduler::HTMLParserScheduler):
38333        * html/parser/HTMLParserScheduler.h:
38334        (WebCore::HTMLParserScheduler::isScheduledForResume):
38335        * page/PageGroupLoadDeferrer.cpp:
38336        (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
38337        (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
38338
383392010-12-21  Kenneth Russell  <kbr@google.com>
38340
38341        Reviewed by Darin Fisher.
38342
38343        Enable extensions used in accelerated 2D canvas implementation
38344        https://bugs.webkit.org/show_bug.cgi?id=51433
38345
38346        Call Extensions3D::ensureEnabled() for all supported extensions
38347        the accelerated 2D Canvas implementation uses. Tested with a few
38348        layout tests previously failing when run in Chromium due to OpenGL
38349        INVALID_ENUM and other errors.
38350
38351        * platform/graphics/gpu/DrawingBuffer.cpp:
38352        (WebCore::DrawingBuffer::create):
38353        * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
38354        (WebCore::SharedGraphicsContext3D::SharedGraphicsContext3D):
38355        (WebCore::SharedGraphicsContext3D::supportsBGRA):
38356        * platform/graphics/gpu/SharedGraphicsContext3D.h:
38357
383582010-12-21  Zhenyao Mo  <zmo@google.com>
38359
38360        Reviewed by Kenneth Russell.
38361
38362        WebGLRenderingContext needs to zero textures and renderbuffers
38363        https://bugs.webkit.org/show_bug.cgi?id=49355
38364
38365        Test: fast/canvas/webgl/uninitialized-test.html
38366
38367        * html/canvas/WebGLFramebuffer.cpp:
38368        (WebCore::WebGLFramebuffer::onAccess): Use a parameter to decide if renderbuffer initialization is needed.
38369        (WebCore::WebGLFramebuffer::initializeRenderbuffers): Don't return false if color buffer doesn't exist.
38370        * html/canvas/WebGLFramebuffer.h: Modify onAccess with an added parameter.
38371        * html/canvas/WebGLRenderingContext.cpp:
38372        (WebCore::WebGLRenderingContext::clear): Call onAccess with an added parameter.
38373        (WebCore::WebGLRenderingContext::copyTexImage2D): Ditto.
38374        (WebCore::WebGLRenderingContext::copyTexSubImage2D): Ditto.
38375        (WebCore::WebGLRenderingContext::drawArrays): Ditto.
38376        (WebCore::WebGLRenderingContext::drawElements): Ditto.
38377        (WebCore::WebGLRenderingContext::readPixels): Ditto.
38378        (WebCore::WebGLRenderingContext::texImage2DBase): Create buffer data of 0s if input is null to initialize textures.
38379        * platform/graphics/GraphicsContext3D.cpp:
38380        (WebCore::GraphicsContext3D::texImage2DResourceSafe): Helper function that initialize all pixels to 0.
38381        * platform/graphics/GraphicsContext3D.h:
38382        * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
38383        (WebCore::Canvas2DLayerChromium::updateContentsIfDirty): Use texImage2DResourceSafe.
38384        * platform/graphics/chromium/DrawingBufferChromium.cpp:
38385        (WebCore::generateColorTexture): Ditto.
38386        * platform/graphics/chromium/LayerRendererChromium.cpp:
38387        (WebCore::LayerRendererChromium::prepareToDrawLayers): Ditto.
38388        * platform/graphics/chromium/TextureManager.cpp:
38389        (WebCore::TextureManager::requestTexture): Ditto.
38390        * platform/graphics/chromium/VideoLayerChromium.cpp:
38391        (WebCore::VideoLayerChromium::allocateTexture): Ditto.
38392        * platform/graphics/gpu/DrawingBuffer.cpp:
38393        (WebCore::DrawingBuffer::reset): Use texImage2DResourceSafe; also, only initialize depth/stencil buffer.
38394        * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
38395        (WebCore::SharedGraphicsContext3D::texImage2D): Use texImage2DResourceSafe.
38396        * platform/graphics/gpu/Texture.cpp:
38397        (WebCore::Texture::create): Ditto.
38398        * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
38399        (WebCore::GraphicsContext3D::texImage2D): Generate an INVALID_VALUE if pixels==null is passed in.
38400
384012010-12-21  Chris Rogers  <crogers@google.com>
38402
38403        Reviewed by Kenneth Russell.
38404
38405        Add AudioBusChromium for decoding audio file data
38406        https://bugs.webkit.org/show_bug.cgi?id=51430
38407
38408        No new tests since audio API is not yet implemented.
38409
38410        * platform/audio/chromium: Added.
38411        * platform/audio/chromium/AudioBusChromium.cpp: Added.
38412        (WebCore::createBusFromInMemoryAudioFile):
38413
384142010-12-21  Chris Rogers  <crogers@google.com>
38415
38416        Reviewed by Kenneth Russell.
38417
38418        Add web audio spatialization resource files
38419        https://bugs.webkit.org/show_bug.cgi?id=50998
38420
38421        No new tests since audio API is not yet implemented.
38422
38423        * platform/audio/HRTFElevation.cpp:
38424        (WebCore::HRTFElevation::calculateKernelsForAzimuthElevation):
38425        * platform/audio/mac/AudioBusMac.mm:
38426        (WebCore::AudioBus::loadPlatformResource):
38427        * platform/audio/resources: Added.
38428        * platform/audio/resources/IRC_Composite_C_R0195_T000_P000.wav: Added.
38429        * platform/audio/resources/IRC_Composite_C_R0195_T000_P015.wav: Added.
38430        * platform/audio/resources/IRC_Composite_C_R0195_T000_P030.wav: Added.
38431        * platform/audio/resources/IRC_Composite_C_R0195_T000_P045.wav: Added.
38432        * platform/audio/resources/IRC_Composite_C_R0195_T000_P060.wav: Added.
38433        * platform/audio/resources/IRC_Composite_C_R0195_T000_P075.wav: Added.
38434        * platform/audio/resources/IRC_Composite_C_R0195_T000_P090.wav: Added.
38435        * platform/audio/resources/IRC_Composite_C_R0195_T000_P315.wav: Added.
38436        * platform/audio/resources/IRC_Composite_C_R0195_T000_P330.wav: Added.
38437        * platform/audio/resources/IRC_Composite_C_R0195_T000_P345.wav: Added.
38438        * platform/audio/resources/IRC_Composite_C_R0195_T015_P000.wav: Added.
38439        * platform/audio/resources/IRC_Composite_C_R0195_T015_P015.wav: Added.
38440        * platform/audio/resources/IRC_Composite_C_R0195_T015_P030.wav: Added.
38441        * platform/audio/resources/IRC_Composite_C_R0195_T015_P045.wav: Added.
38442        * platform/audio/resources/IRC_Composite_C_R0195_T015_P060.wav: Added.
38443        * platform/audio/resources/IRC_Composite_C_R0195_T015_P075.wav: Added.
38444        * platform/audio/resources/IRC_Composite_C_R0195_T015_P090.wav: Added.
38445        * platform/audio/resources/IRC_Composite_C_R0195_T015_P315.wav: Added.
38446        * platform/audio/resources/IRC_Composite_C_R0195_T015_P330.wav: Added.
38447        * platform/audio/resources/IRC_Composite_C_R0195_T015_P345.wav: Added.
38448        * platform/audio/resources/IRC_Composite_C_R0195_T030_P000.wav: Added.
38449        * platform/audio/resources/IRC_Composite_C_R0195_T030_P015.wav: Added.
38450        * platform/audio/resources/IRC_Composite_C_R0195_T030_P030.wav: Added.
38451        * platform/audio/resources/IRC_Composite_C_R0195_T030_P045.wav: Added.
38452        * platform/audio/resources/IRC_Composite_C_R0195_T030_P060.wav: Added.
38453        * platform/audio/resources/IRC_Composite_C_R0195_T030_P075.wav: Added.
38454        * platform/audio/resources/IRC_Composite_C_R0195_T030_P090.wav: Added.
38455        * platform/audio/resources/IRC_Composite_C_R0195_T030_P315.wav: Added.
38456        * platform/audio/resources/IRC_Composite_C_R0195_T030_P330.wav: Added.
38457        * platform/audio/resources/IRC_Composite_C_R0195_T030_P345.wav: Added.
38458        * platform/audio/resources/IRC_Composite_C_R0195_T045_P000.wav: Added.
38459        * platform/audio/resources/IRC_Composite_C_R0195_T045_P015.wav: Added.
38460        * platform/audio/resources/IRC_Composite_C_R0195_T045_P030.wav: Added.
38461        * platform/audio/resources/IRC_Composite_C_R0195_T045_P045.wav: Added.
38462        * platform/audio/resources/IRC_Composite_C_R0195_T045_P060.wav: Added.
38463        * platform/audio/resources/IRC_Composite_C_R0195_T045_P075.wav: Added.
38464        * platform/audio/resources/IRC_Composite_C_R0195_T045_P090.wav: Added.
38465        * platform/audio/resources/IRC_Composite_C_R0195_T045_P315.wav: Added.
38466        * platform/audio/resources/IRC_Composite_C_R0195_T045_P330.wav: Added.
38467        * platform/audio/resources/IRC_Composite_C_R0195_T045_P345.wav: Added.
38468        * platform/audio/resources/IRC_Composite_C_R0195_T060_P000.wav: Added.
38469        * platform/audio/resources/IRC_Composite_C_R0195_T060_P015.wav: Added.
38470        * platform/audio/resources/IRC_Composite_C_R0195_T060_P030.wav: Added.
38471        * platform/audio/resources/IRC_Composite_C_R0195_T060_P045.wav: Added.
38472        * platform/audio/resources/IRC_Composite_C_R0195_T060_P060.wav: Added.
38473        * platform/audio/resources/IRC_Composite_C_R0195_T060_P075.wav: Added.
38474        * platform/audio/resources/IRC_Composite_C_R0195_T060_P090.wav: Added.
38475        * platform/audio/resources/IRC_Composite_C_R0195_T060_P315.wav: Added.
38476        * platform/audio/resources/IRC_Composite_C_R0195_T060_P330.wav: Added.
38477        * platform/audio/resources/IRC_Composite_C_R0195_T060_P345.wav: Added.
38478        * platform/audio/resources/IRC_Composite_C_R0195_T075_P000.wav: Added.
38479        * platform/audio/resources/IRC_Composite_C_R0195_T075_P015.wav: Added.
38480        * platform/audio/resources/IRC_Composite_C_R0195_T075_P030.wav: Added.
38481        * platform/audio/resources/IRC_Composite_C_R0195_T075_P045.wav: Added.
38482        * platform/audio/resources/IRC_Composite_C_R0195_T075_P060.wav: Added.
38483        * platform/audio/resources/IRC_Composite_C_R0195_T075_P075.wav: Added.
38484        * platform/audio/resources/IRC_Composite_C_R0195_T075_P090.wav: Added.
38485        * platform/audio/resources/IRC_Composite_C_R0195_T075_P315.wav: Added.
38486        * platform/audio/resources/IRC_Composite_C_R0195_T075_P330.wav: Added.
38487        * platform/audio/resources/IRC_Composite_C_R0195_T075_P345.wav: Added.
38488        * platform/audio/resources/IRC_Composite_C_R0195_T090_P000.wav: Added.
38489        * platform/audio/resources/IRC_Composite_C_R0195_T090_P015.wav: Added.
38490        * platform/audio/resources/IRC_Composite_C_R0195_T090_P030.wav: Added.
38491        * platform/audio/resources/IRC_Composite_C_R0195_T090_P045.wav: Added.
38492        * platform/audio/resources/IRC_Composite_C_R0195_T090_P060.wav: Added.
38493        * platform/audio/resources/IRC_Composite_C_R0195_T090_P075.wav: Added.
38494        * platform/audio/resources/IRC_Composite_C_R0195_T090_P090.wav: Added.
38495        * platform/audio/resources/IRC_Composite_C_R0195_T090_P315.wav: Added.
38496        * platform/audio/resources/IRC_Composite_C_R0195_T090_P330.wav: Added.
38497        * platform/audio/resources/IRC_Composite_C_R0195_T090_P345.wav: Added.
38498        * platform/audio/resources/IRC_Composite_C_R0195_T105_P000.wav: Added.
38499        * platform/audio/resources/IRC_Composite_C_R0195_T105_P015.wav: Added.
38500        * platform/audio/resources/IRC_Composite_C_R0195_T105_P030.wav: Added.
38501        * platform/audio/resources/IRC_Composite_C_R0195_T105_P045.wav: Added.
38502        * platform/audio/resources/IRC_Composite_C_R0195_T105_P060.wav: Added.
38503        * platform/audio/resources/IRC_Composite_C_R0195_T105_P075.wav: Added.
38504        * platform/audio/resources/IRC_Composite_C_R0195_T105_P090.wav: Added.
38505        * platform/audio/resources/IRC_Composite_C_R0195_T105_P315.wav: Added.
38506        * platform/audio/resources/IRC_Composite_C_R0195_T105_P330.wav: Added.
38507        * platform/audio/resources/IRC_Composite_C_R0195_T105_P345.wav: Added.
38508        * platform/audio/resources/IRC_Composite_C_R0195_T120_P000.wav: Added.
38509        * platform/audio/resources/IRC_Composite_C_R0195_T120_P015.wav: Added.
38510        * platform/audio/resources/IRC_Composite_C_R0195_T120_P030.wav: Added.
38511        * platform/audio/resources/IRC_Composite_C_R0195_T120_P045.wav: Added.
38512        * platform/audio/resources/IRC_Composite_C_R0195_T120_P060.wav: Added.
38513        * platform/audio/resources/IRC_Composite_C_R0195_T120_P075.wav: Added.
38514        * platform/audio/resources/IRC_Composite_C_R0195_T120_P090.wav: Added.
38515        * platform/audio/resources/IRC_Composite_C_R0195_T120_P315.wav: Added.
38516        * platform/audio/resources/IRC_Composite_C_R0195_T120_P330.wav: Added.
38517        * platform/audio/resources/IRC_Composite_C_R0195_T120_P345.wav: Added.
38518        * platform/audio/resources/IRC_Composite_C_R0195_T135_P000.wav: Added.
38519        * platform/audio/resources/IRC_Composite_C_R0195_T135_P015.wav: Added.
38520        * platform/audio/resources/IRC_Composite_C_R0195_T135_P030.wav: Added.
38521        * platform/audio/resources/IRC_Composite_C_R0195_T135_P045.wav: Added.
38522        * platform/audio/resources/IRC_Composite_C_R0195_T135_P060.wav: Added.
38523        * platform/audio/resources/IRC_Composite_C_R0195_T135_P075.wav: Added.
38524        * platform/audio/resources/IRC_Composite_C_R0195_T135_P090.wav: Added.
38525        * platform/audio/resources/IRC_Composite_C_R0195_T135_P315.wav: Added.
38526        * platform/audio/resources/IRC_Composite_C_R0195_T135_P330.wav: Added.
38527        * platform/audio/resources/IRC_Composite_C_R0195_T135_P345.wav: Added.
38528        * platform/audio/resources/IRC_Composite_C_R0195_T150_P000.wav: Added.
38529        * platform/audio/resources/IRC_Composite_C_R0195_T150_P015.wav: Added.
38530        * platform/audio/resources/IRC_Composite_C_R0195_T150_P030.wav: Added.
38531        * platform/audio/resources/IRC_Composite_C_R0195_T150_P045.wav: Added.
38532        * platform/audio/resources/IRC_Composite_C_R0195_T150_P060.wav: Added.
38533        * platform/audio/resources/IRC_Composite_C_R0195_T150_P075.wav: Added.
38534        * platform/audio/resources/IRC_Composite_C_R0195_T150_P090.wav: Added.
38535        * platform/audio/resources/IRC_Composite_C_R0195_T150_P315.wav: Added.
38536        * platform/audio/resources/IRC_Composite_C_R0195_T150_P330.wav: Added.
38537        * platform/audio/resources/IRC_Composite_C_R0195_T150_P345.wav: Added.
38538        * platform/audio/resources/IRC_Composite_C_R0195_T165_P000.wav: Added.
38539        * platform/audio/resources/IRC_Composite_C_R0195_T165_P015.wav: Added.
38540        * platform/audio/resources/IRC_Composite_C_R0195_T165_P030.wav: Added.
38541        * platform/audio/resources/IRC_Composite_C_R0195_T165_P045.wav: Added.
38542        * platform/audio/resources/IRC_Composite_C_R0195_T165_P060.wav: Added.
38543        * platform/audio/resources/IRC_Composite_C_R0195_T165_P075.wav: Added.
38544        * platform/audio/resources/IRC_Composite_C_R0195_T165_P090.wav: Added.
38545        * platform/audio/resources/IRC_Composite_C_R0195_T165_P315.wav: Added.
38546        * platform/audio/resources/IRC_Composite_C_R0195_T165_P330.wav: Added.
38547        * platform/audio/resources/IRC_Composite_C_R0195_T165_P345.wav: Added.
38548        * platform/audio/resources/IRC_Composite_C_R0195_T180_P000.wav: Added.
38549        * platform/audio/resources/IRC_Composite_C_R0195_T180_P015.wav: Added.
38550        * platform/audio/resources/IRC_Composite_C_R0195_T180_P030.wav: Added.
38551        * platform/audio/resources/IRC_Composite_C_R0195_T180_P045.wav: Added.
38552        * platform/audio/resources/IRC_Composite_C_R0195_T180_P060.wav: Added.
38553        * platform/audio/resources/IRC_Composite_C_R0195_T180_P075.wav: Added.
38554        * platform/audio/resources/IRC_Composite_C_R0195_T180_P090.wav: Added.
38555        * platform/audio/resources/IRC_Composite_C_R0195_T180_P315.wav: Added.
38556        * platform/audio/resources/IRC_Composite_C_R0195_T180_P330.wav: Added.
38557        * platform/audio/resources/IRC_Composite_C_R0195_T180_P345.wav: Added.
38558        * platform/audio/resources/IRC_Composite_C_R0195_T195_P000.wav: Added.
38559        * platform/audio/resources/IRC_Composite_C_R0195_T195_P015.wav: Added.
38560        * platform/audio/resources/IRC_Composite_C_R0195_T195_P030.wav: Added.
38561        * platform/audio/resources/IRC_Composite_C_R0195_T195_P045.wav: Added.
38562        * platform/audio/resources/IRC_Composite_C_R0195_T195_P060.wav: Added.
38563        * platform/audio/resources/IRC_Composite_C_R0195_T195_P075.wav: Added.
38564        * platform/audio/resources/IRC_Composite_C_R0195_T195_P090.wav: Added.
38565        * platform/audio/resources/IRC_Composite_C_R0195_T195_P315.wav: Added.
38566        * platform/audio/resources/IRC_Composite_C_R0195_T195_P330.wav: Added.
38567        * platform/audio/resources/IRC_Composite_C_R0195_T195_P345.wav: Added.
38568        * platform/audio/resources/IRC_Composite_C_R0195_T210_P000.wav: Added.
38569        * platform/audio/resources/IRC_Composite_C_R0195_T210_P015.wav: Added.
38570        * platform/audio/resources/IRC_Composite_C_R0195_T210_P030.wav: Added.
38571        * platform/audio/resources/IRC_Composite_C_R0195_T210_P045.wav: Added.
38572        * platform/audio/resources/IRC_Composite_C_R0195_T210_P060.wav: Added.
38573        * platform/audio/resources/IRC_Composite_C_R0195_T210_P075.wav: Added.
38574        * platform/audio/resources/IRC_Composite_C_R0195_T210_P090.wav: Added.
38575        * platform/audio/resources/IRC_Composite_C_R0195_T210_P315.wav: Added.
38576        * platform/audio/resources/IRC_Composite_C_R0195_T210_P330.wav: Added.
38577        * platform/audio/resources/IRC_Composite_C_R0195_T210_P345.wav: Added.
38578        * platform/audio/resources/IRC_Composite_C_R0195_T225_P000.wav: Added.
38579        * platform/audio/resources/IRC_Composite_C_R0195_T225_P015.wav: Added.
38580        * platform/audio/resources/IRC_Composite_C_R0195_T225_P030.wav: Added.
38581        * platform/audio/resources/IRC_Composite_C_R0195_T225_P045.wav: Added.
38582        * platform/audio/resources/IRC_Composite_C_R0195_T225_P060.wav: Added.
38583        * platform/audio/resources/IRC_Composite_C_R0195_T225_P075.wav: Added.
38584        * platform/audio/resources/IRC_Composite_C_R0195_T225_P090.wav: Added.
38585        * platform/audio/resources/IRC_Composite_C_R0195_T225_P315.wav: Added.
38586        * platform/audio/resources/IRC_Composite_C_R0195_T225_P330.wav: Added.
38587        * platform/audio/resources/IRC_Composite_C_R0195_T225_P345.wav: Added.
38588        * platform/audio/resources/IRC_Composite_C_R0195_T240_P000.wav: Added.
38589        * platform/audio/resources/IRC_Composite_C_R0195_T240_P015.wav: Added.
38590        * platform/audio/resources/IRC_Composite_C_R0195_T240_P030.wav: Added.
38591        * platform/audio/resources/IRC_Composite_C_R0195_T240_P045.wav: Added.
38592        * platform/audio/resources/IRC_Composite_C_R0195_T240_P060.wav: Added.
38593        * platform/audio/resources/IRC_Composite_C_R0195_T240_P075.wav: Added.
38594        * platform/audio/resources/IRC_Composite_C_R0195_T240_P090.wav: Added.
38595        * platform/audio/resources/IRC_Composite_C_R0195_T240_P315.wav: Added.
38596        * platform/audio/resources/IRC_Composite_C_R0195_T240_P330.wav: Added.
38597        * platform/audio/resources/IRC_Composite_C_R0195_T240_P345.wav: Added.
38598        * platform/audio/resources/IRC_Composite_C_R0195_T255_P000.wav: Added.
38599        * platform/audio/resources/IRC_Composite_C_R0195_T255_P015.wav: Added.
38600        * platform/audio/resources/IRC_Composite_C_R0195_T255_P030.wav: Added.
38601        * platform/audio/resources/IRC_Composite_C_R0195_T255_P045.wav: Added.
38602        * platform/audio/resources/IRC_Composite_C_R0195_T255_P060.wav: Added.
38603        * platform/audio/resources/IRC_Composite_C_R0195_T255_P075.wav: Added.
38604        * platform/audio/resources/IRC_Composite_C_R0195_T255_P090.wav: Added.
38605        * platform/audio/resources/IRC_Composite_C_R0195_T255_P315.wav: Added.
38606        * platform/audio/resources/IRC_Composite_C_R0195_T255_P330.wav: Added.
38607        * platform/audio/resources/IRC_Composite_C_R0195_T255_P345.wav: Added.
38608        * platform/audio/resources/IRC_Composite_C_R0195_T270_P000.wav: Added.
38609        * platform/audio/resources/IRC_Composite_C_R0195_T270_P015.wav: Added.
38610        * platform/audio/resources/IRC_Composite_C_R0195_T270_P030.wav: Added.
38611        * platform/audio/resources/IRC_Composite_C_R0195_T270_P045.wav: Added.
38612        * platform/audio/resources/IRC_Composite_C_R0195_T270_P060.wav: Added.
38613        * platform/audio/resources/IRC_Composite_C_R0195_T270_P075.wav: Added.
38614        * platform/audio/resources/IRC_Composite_C_R0195_T270_P090.wav: Added.
38615        * platform/audio/resources/IRC_Composite_C_R0195_T270_P315.wav: Added.
38616        * platform/audio/resources/IRC_Composite_C_R0195_T270_P330.wav: Added.
38617        * platform/audio/resources/IRC_Composite_C_R0195_T270_P345.wav: Added.
38618        * platform/audio/resources/IRC_Composite_C_R0195_T285_P000.wav: Added.
38619        * platform/audio/resources/IRC_Composite_C_R0195_T285_P015.wav: Added.
38620        * platform/audio/resources/IRC_Composite_C_R0195_T285_P030.wav: Added.
38621        * platform/audio/resources/IRC_Composite_C_R0195_T285_P045.wav: Added.
38622        * platform/audio/resources/IRC_Composite_C_R0195_T285_P060.wav: Added.
38623        * platform/audio/resources/IRC_Composite_C_R0195_T285_P075.wav: Added.
38624        * platform/audio/resources/IRC_Composite_C_R0195_T285_P090.wav: Added.
38625        * platform/audio/resources/IRC_Composite_C_R0195_T285_P315.wav: Added.
38626        * platform/audio/resources/IRC_Composite_C_R0195_T285_P330.wav: Added.
38627        * platform/audio/resources/IRC_Composite_C_R0195_T285_P345.wav: Added.
38628        * platform/audio/resources/IRC_Composite_C_R0195_T300_P000.wav: Added.
38629        * platform/audio/resources/IRC_Composite_C_R0195_T300_P015.wav: Added.
38630        * platform/audio/resources/IRC_Composite_C_R0195_T300_P030.wav: Added.
38631        * platform/audio/resources/IRC_Composite_C_R0195_T300_P045.wav: Added.
38632        * platform/audio/resources/IRC_Composite_C_R0195_T300_P060.wav: Added.
38633        * platform/audio/resources/IRC_Composite_C_R0195_T300_P075.wav: Added.
38634        * platform/audio/resources/IRC_Composite_C_R0195_T300_P090.wav: Added.
38635        * platform/audio/resources/IRC_Composite_C_R0195_T300_P315.wav: Added.
38636        * platform/audio/resources/IRC_Composite_C_R0195_T300_P330.wav: Added.
38637        * platform/audio/resources/IRC_Composite_C_R0195_T300_P345.wav: Added.
38638        * platform/audio/resources/IRC_Composite_C_R0195_T315_P000.wav: Added.
38639        * platform/audio/resources/IRC_Composite_C_R0195_T315_P015.wav: Added.
38640        * platform/audio/resources/IRC_Composite_C_R0195_T315_P030.wav: Added.
38641        * platform/audio/resources/IRC_Composite_C_R0195_T315_P045.wav: Added.
38642        * platform/audio/resources/IRC_Composite_C_R0195_T315_P060.wav: Added.
38643        * platform/audio/resources/IRC_Composite_C_R0195_T315_P075.wav: Added.
38644        * platform/audio/resources/IRC_Composite_C_R0195_T315_P090.wav: Added.
38645        * platform/audio/resources/IRC_Composite_C_R0195_T315_P315.wav: Added.
38646        * platform/audio/resources/IRC_Composite_C_R0195_T315_P330.wav: Added.
38647        * platform/audio/resources/IRC_Composite_C_R0195_T315_P345.wav: Added.
38648        * platform/audio/resources/IRC_Composite_C_R0195_T330_P000.wav: Added.
38649        * platform/audio/resources/IRC_Composite_C_R0195_T330_P015.wav: Added.
38650        * platform/audio/resources/IRC_Composite_C_R0195_T330_P030.wav: Added.
38651        * platform/audio/resources/IRC_Composite_C_R0195_T330_P045.wav: Added.
38652        * platform/audio/resources/IRC_Composite_C_R0195_T330_P060.wav: Added.
38653        * platform/audio/resources/IRC_Composite_C_R0195_T330_P075.wav: Added.
38654        * platform/audio/resources/IRC_Composite_C_R0195_T330_P090.wav: Added.
38655        * platform/audio/resources/IRC_Composite_C_R0195_T330_P315.wav: Added.
38656        * platform/audio/resources/IRC_Composite_C_R0195_T330_P330.wav: Added.
38657        * platform/audio/resources/IRC_Composite_C_R0195_T330_P345.wav: Added.
38658        * platform/audio/resources/IRC_Composite_C_R0195_T345_P000.wav: Added.
38659        * platform/audio/resources/IRC_Composite_C_R0195_T345_P015.wav: Added.
38660        * platform/audio/resources/IRC_Composite_C_R0195_T345_P030.wav: Added.
38661        * platform/audio/resources/IRC_Composite_C_R0195_T345_P045.wav: Added.
38662        * platform/audio/resources/IRC_Composite_C_R0195_T345_P060.wav: Added.
38663        * platform/audio/resources/IRC_Composite_C_R0195_T345_P075.wav: Added.
38664        * platform/audio/resources/IRC_Composite_C_R0195_T345_P090.wav: Added.
38665        * platform/audio/resources/IRC_Composite_C_R0195_T345_P315.wav: Added.
38666        * platform/audio/resources/IRC_Composite_C_R0195_T345_P330.wav: Added.
38667        * platform/audio/resources/IRC_Composite_C_R0195_T345_P345.wav: Added.
38668
386692010-12-21  Geoffrey Garen  <ggaren@apple.com>
38670
38671        Reviewed by Gavin Barraclough & Oliver Hunt.
38672
38673        Added PageAllocationAligned, a cross-platform abstraction for memory allocations with arbitrary alignment requirements
38674        https://bugs.webkit.org/show_bug.cgi?id=51359
38675
38676        * ForwardingHeaders/wtf/PageAllocationAligned.h: Added.
38677
386782010-12-21  Ariya Hidayat  <ariya@sencha.com>
38679
38680        Reviewed by Simon Fraser.
38681
38682        https://bugs.webkit.org/show_bug.cgi?id=49774
38683        Need to scale translation values in matrix() by the zoom factor.
38684
38685        Test: fast/transforms/matrix-with-zoom.html
38686
38687        * css/CSSStyleSelector.cpp:
38688        (WebCore::CSSStyleSelector::createTransformOperations):
38689
386902010-12-21  Jian Li  <jianli@chromium.org>
38691
38692        Reviewed by Darin Adler.
38693
38694        Fix bug 51366: REGRESSION (r66452): Form data no longer contains
38695        'Content-Type' header for files with unrecognized extensions
38696        https://bugs.webkit.org/show_bug.cgi?id=51366
38697
38698        Test: http/tests/local/formdata/form-data-with-unknown-file-extension.html
38699
38700        * platform/network/FormData.cpp:
38701        (WebCore::FormData::appendKeyValuePairItems):
38702
387032010-12-21  Darin Adler  <darin@apple.com>
38704
38705        Reviewed by Sam Weinig.
38706
38707        Mac WebKit delivers an extra didCommit when loading web archives
38708        https://bugs.webkit.org/show_bug.cgi?id=51419
38709
38710        Could not find a simple way to test this in WebKit1, but in WebKit2
38711        it leads to an immediate failure when loading a web archive. Tested
38712        that making the Mac share the same code path with other platforms
38713        works fine in WebKit1.
38714
38715        * loader/FrameLoader.cpp:
38716        (WebCore::FrameLoader::finishedLoadingDocument): Removed special case for
38717        the Mac platform. Also removed the call to isArchiveMimeType since we
38718        get a 0 from ArchiveFactory::create in that case.
38719
38720        * loader/archive/ArchiveFactory.cpp:
38721        (WebCore::ArchiveFactory::isArchiveMimeType): Hardened slightly by
38722        adding a special case for null and empty strings, since hash tables can't
38723        handle null strings.
38724        (WebCore::ArchiveFactory::create): Ditto.
38725
387262010-12-21  Yong Li  <yoli@rim.com>
38727
38728        Reviewed by Adam Barth.
38729
38730        Suspend HTMLParserScheduler when page load is deferred to
38731        avoid potential JS re-entrancy. Otherwise, when JS execution is triggered
38732        from an external script or by events, and is blocked by a modal dialog,
38733        WebKit can parse more HTML source and also start another JS execution.
38734        
38735        https://bugs.webkit.org/show_bug.cgi?id=48077
38736
38737        Test case: WebCore/manual-tests/bugzilla-48077.html.
38738
38739        * dom/DocumentParser.cpp:
38740        (WebCore::DocumentParser::suspendParsing):
38741        (WebCore::DocumentParser::resumeParsing):
38742        * dom/DocumentParser.h:
38743        * html/parser/HTMLDocumentParser.cpp:
38744        (WebCore::HTMLDocumentParser::suspendParsing):
38745        (WebCore::HTMLDocumentParser::resumeParsing):
38746        * html/parser/HTMLParserScheduler.cpp:
38747        (WebCore::HTMLParserScheduler::HTMLParserScheduler):
38748        (WebCore::HTMLParserScheduler::suspend):
38749        (WebCore::HTMLParserScheduler::resume):
38750        * html/parser/HTMLParserScheduler.h:
38751        (WebCore::HTMLParserScheduler::isScheduledForResume):
38752        * page/PageGroupLoadDeferrer.cpp:
38753        (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
38754        (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
38755
387562010-12-21  Anders Carlsson  <andersca@apple.com>
38757
38758        Reviewed by John Sullivan.
38759
38760        Clicking missing plug-in text does not show a sheet
38761        https://bugs.webkit.org/show_bug.cgi?id=51403
38762
38763        * WebCore.exp.in:
38764        Export symbols needed by WebKit2.
38765
38766        * WebCore.xcodeproj/project.pbxproj:
38767        Make HTMLPlugInImageElement.h a private header.
38768
38769        * html/HTMLPlugInImageElement.h:
38770        (WebCore::HTMLPlugInImageElement::serviceType):
38771        (WebCore::HTMLPlugInImageElement::url):
38772        Make these member functions public.
38773
387742010-12-21  Andras Becsi  <abecsi@webkit.org>
38775
38776        Unreviewed build fix.
38777
38778        [Qt] Fix the build with USE_GSTREAMER=1
38779
38780        No new tests needed.
38781
38782        * WebCore.pro: remove nonexisting DataSourceGStreamer sources.
38783
387842010-12-21  Mahesh Kulkarni  <mahesh.kulkarni@nokia.com>
38785
38786        Reviewed by Andreas Kling.
38787
38788        [Qt] QtWebKit doesn't build in debug on Windows
38789        https://bugs.webkit.org/show_bug.cgi?id=41930
38790
38791        Disable incremental linking in windows 32bit debug version as webkit is so 
38792        big it fails to link incremental. 
38793
38794        Build fix. No new test cases added. 
38795
38796        * WebCore.pro:
38797
387982010-12-21  Dominic Cooney  <dominicc@google.com>
38799
38800        Reviewed by Adam Barth.
38801
38802        Rename Node::isShadowNode to isShadowRoot
38803        https://bugs.webkit.org/show_bug.cgi?id=51060
38804
38805        The method gets whether the node is the root of a shadow tree;
38806        renamed to reflect intent.
38807
38808        A simple rename--no new tests needed.
38809
38810        * css/CSSStyleSelector.cpp:
38811        (WebCore::CSSStyleSelector::initForStyleResolve):
38812        (WebCore::CSSStyleSelector::SelectorChecker::checkSelector):
38813        * dom/Node.cpp:
38814        (WebCore::Node::shadowTreeRootNode):
38815        (WebCore::Node::isInShadowTree):
38816        (WebCore::eventTargetRespectingSVGTargetRules):
38817        (WebCore::Node::getEventAncestors):
38818        * dom/Node.h:
38819        (WebCore::Node::isShadowRoot):
38820        * dom/Range.cpp:
38821        (WebCore::Range::checkNodeBA):
38822        * page/DragController.cpp:
38823        (WebCore::asFileInput):
38824        * page/EventHandler.cpp:
38825        (WebCore::EventHandler::handleMousePressEvent):
38826        (WebCore::EventHandler::dispatchMouseEvent):
38827        * rendering/RenderBlock.cpp:
38828        (WebCore::RenderBlock::hasLineIfEmpty):
38829        * rendering/TextControlInnerElements.cpp:
38830        (WebCore::TextControlInnerElement::attachInnerElement):
38831        * svg/SVGStyledElement.cpp:
38832        (WebCore::SVGStyledElement::title):
38833        * svg/SVGUseElement.cpp:
38834        (WebCore::ShadowTreeUpdateBlocker::while):
38835        * svg/animation/SVGSMILElement.cpp:
38836        (WebCore::SVGSMILElement::insertedIntoDocument):
38837
388382010-12-20  Mahesh Kulkarni  <mahesh.kulkarni@nokia.com>
38839
38840        Reviewed by Andreas Kling.
38841
38842        Qt port of geolocation, geoposition objects timestamp was in seconds
38843        instead of miliseconds as per HTML5 Geolocation standards.
38844        Ref: http://dev.w3.org/geo/api/spec-source.html#position_interface 
38845        http://www.w3.org/TR/DOM-Level-3-Core/core.html#Core-DOMTimeStamp 
38846
38847        Implemented by Asheesh Srivastava.
38848
38849        [QT] QtWebkit geolocation's position.timestamp is not in miliseconds
38850        https://bugs.webkit.org/show_bug.cgi?id=51100
38851
38852        Porting code not covered in layout testing. No new tests added.
38853
38854        * platform/qt/GeolocationServiceQt.cpp:
38855        (WebCore::GeolocationServiceQt::positionUpdated):
38856
388572010-12-20  Yuzo Fujishima  <yuzo@google.com>
38858
38859        Reviewed by Eric Seidel.
38860
38861        Fix for Bug 26183 - [@font-face] font-family descriptor with multiple names should be discarded
38862        https://bugs.webkit.org/show_bug.cgi?id=26183
38863
38864        Test: fast/css/font-face-font-family-descriptor.html
38865
38866        * css/CSSParser.cpp:
38867        (WebCore::CSSParser::createFontFaceRule): Consider @font-face rule
38868        invalid if its font-family descriptor has multiple (or zero) families.
38869
388702010-12-20  Pavel Feldman  <pfeldman@chromium.org>
38871
38872        Reviewed by Yury Semikhatsky.
38873
38874        Web Inspector: fall back to object formatting in case dom is not yet loaded.
38875        https://bugs.webkit.org/show_bug.cgi?id=44273
38876
38877        Sometimes DOM is loaded after the inline message is being formatted, so we get
38878        no nodeId for it. Let us fall back to object formatting in such cases.
38879
38880        * inspector/front-end/ConsoleView.js:
38881        (WebInspector.ConsoleView.prototype._formatnode):
38882        (WebInspector.ConsoleMessage):
38883
388842010-12-20  Pavel Feldman  <pfeldman@chromium.org>
38885
38886        Reviewed by Joseph Pecoraro.
38887
38888        Web Inspector: cycle through tag name / attributes / new attribute on Tab.
38889
38890        https://bugs.webkit.org/show_bug.cgi?id=38429
38891
38892        * inspector/front-end/ElementsTreeOutline.js:
38893        (WebInspector.ElementsTreeElement.prototype._tagNameEditingCommitted.moveToNextAttributeIfNeeded):
38894
388952010-12-20  Yuta Kitamura  <yutak@chromium.org>
38896
38897        Reviewed by Alexey Proskuryakov.
38898
38899        WebSocket errors should be logged to console
38900        https://bugs.webkit.org/show_bug.cgi?id=40945
38901
38902        Test: http/tests/inspector/console-websocket-error.html
38903
38904        * platform/network/SocketStreamErrorBase.cpp:
38905        (WebCore::SocketStreamErrorBase::compare):
38906        * platform/network/SocketStreamErrorBase.h:
38907        (WebCore::SocketStreamErrorBase::failingURL):
38908        (WebCore::SocketStreamErrorBase::localizedDescription):
38909        (WebCore::SocketStreamErrorBase::SocketStreamErrorBase):
38910        * platform/network/cf/SocketStreamError.h:
38911        (WebCore::SocketStreamError::SocketStreamError):
38912        * platform/network/cf/SocketStreamHandle.h:
38913        * platform/network/cf/SocketStreamHandleCFNet.cpp:
38914        (WebCore::SocketStreamHandle::readStreamCallback):
38915        (WebCore::SocketStreamHandle::writeStreamCallback):
38916        (WebCore::SocketStreamHandle::reportErrorToClient):
38917        * websockets/WebSocketChannel.cpp:
38918        (WebCore::WebSocketChannel::didFail):
38919
389202010-12-17  MORITA Hajime  <morrita@google.com>
38921
38922        Reviewed by James Robinson.
38923
38924        https://bugs.webkit.org/show_bug.cgi?id=51240
38925        [Chromium][Skia] Border with a color with alpha != 1 breaks webkit gradient on skia.
38926
38927        Even after a shader was set, old color value had been remaining and passed to Skia.
38928        Then Skia refered an alpha component of that color to make pixels transparent.
38929        This change invalidates existing color value when a shader is given, 
38930        which means the renderer will paint shapes with gradients or patterns.
38931        
38932        Test: fast/gradients/gradient-after-transparent-border.html
38933
38934        * platform/graphics/skia/PlatformContextSkia.cpp:
38935        (WebCore::PlatformContextSkia::setStrokeShader):
38936        (WebCore::PlatformContextSkia::setFillShader):
38937
389382010-12-20  Xiaomei Ji  <xji@chromium.org>
38939
38940        Reviewed by Dan Bernstein.
38941
38942        Fix move left/right by character hang.
38943        https://bugs.webkit.org/show_bug.cgi?id=51344
38944
38945        Test: editing/selection/51344.html
38946
38947        * editing/VisiblePosition.cpp:
38948        (WebCore::VisiblePosition::leftVisuallyDistinctCandidate):
38949        (WebCore::VisiblePosition::rightVisuallyDistinctCandidate):
38950
389512010-12-20  Steve Lacey  <sjl@chromium.org>
38952
38953        Reviewed by David Levin.
38954
38955        Add missing default styles in mediaControlsChromium.css to prevent
38956        user overrides.
38957        https://bugs.webkit.org/show_bug.cgi?id=51360
38958
38959        No new tests needed as functionality is covered by existing layout
38960        tests.
38961
38962
38963        * css/mediaControlsChromium.css:
38964        (audio::-webkit-media-controls-current-time-display, video::-webkit-media-controls-current-time-display):
38965        (audio::-webkit-media-controls-time-remaining-display, video::-webkit-media-controls-time-remaining-display):
38966
389672010-12-20  Jian Li  <jianli@chromium.org>
38968
38969        Reviewed by David Levin.
38970
38971        Add lastModifiedDate attribute to File interface per File API spec
38972        https://bugs.webkit.org/show_bug.cgi?id=49895
38973
38974        lastModifiedDate is not supported for GObject bindings because Date is
38975        not support in code generation.
38976
38977        Test: http/tests/local/fileapi/file-last-modified.html
38978
38979        * fileapi/File.cpp:
38980        (WebCore::File::lastModifiedDate):
38981        * fileapi/File.h:
38982        * fileapi/File.idl:
38983
389842010-12-20  Mark Rowe  <mrowe@apple.com>
38985
38986        Reviewed by Dan Bernstein.
38987
38988        <rdar://problem/8757601> Don't install header files in to the Resources directory.
38989
38990        * WebCore.xcodeproj/project.pbxproj:
38991
389922010-12-20  Andrei Popescu  <andreip@google.com>
38993
38994        Reviewed by Jeremy Orlow.
38995
38996        [Chromium] v8/SerializedScriptValue::readUint32 treats incoming raw values as signed instead of unsigned
38997        https://bugs.webkit.org/show_bug.cgi?id=51338
38998
38999        * bindings/v8/SerializedScriptValue.cpp:
39000        (WebCore::ZigZag::Reader::readUint32):
39001
390022010-12-20  Beth Dakin  <bdakin@apple.com>
39003
39004        Reviewed by Ada Chan.
39005
39006        Fix for https://bugs.webkit.org/show_bug.cgi?id=51355 Crash in 
39007        RenderMathMLSubSup::layout() because of null base
39008        -and corresponding-
39009        <rdar://problem/8712200>
39010
39011        Only use base inside if(base) block.
39012        * mathml/RenderMathMLSubSup.cpp:
39013        (WebCore::RenderMathMLSubSup::layout):
39014
390152010-12-20  Enrica Casucci  <enrica@apple.com>
39016
39017        Reviewed by Darin Adler.
39018
39019        Crash at WebCore::SplitElementCommand::SplitElementCommand
39020        https://bugs.webkit.org/show_bug.cgi?id=51278
39021        <rdar://problem/7347139> 
39022
39023        Executing outdent command on an inline blockquote that is
39024        not the first element in a block causes a crash.
39025        The fix consists in chaging the was the start of block is
39026        calculated in case of the inline blockquote.
39027        
39028        Test: editing/execCommand/outdent-inline-blockquote.html
39029              editing/execCommand/outdent-inline-list.html
39030
39031        * editing/IndentOutdentCommand.cpp:
39032        (WebCore::IndentOutdentCommand::outdentParagraph):
39033
390342010-12-20  Oliver Hunt  <oliver@apple.com>
39035
39036        Reviewed by Darin Adler.
39037
39038        Need to support serialisation of cyclic graphs in the internal structured cloning algorithm
39039        https://bugs.webkit.org/show_bug.cgi?id=51353
39040
39041        The Internal Structured Clone algorithm has been changed to allow (and
39042        correctly clone) cyclic graphs.  This patch updates our implementation
39043        to provide that functionality.
39044
39045        I've bumped the serialization version number, and added ObjectReferenceTag
39046        to represent references to objects that have already been seen.
39047
39048        * bindings/js/SerializedScriptValue.cpp:
39049        (WebCore::CloneSerializer::startObjectInternal):
39050          Now that we have something a bit more complex than cycle checking
39051          I've replaced the duplicate code in startObject and startArray with
39052          a shared function that implements that logic to plant an object
39053          reference
39054        (WebCore::CloneSerializer::startObject):
39055        (WebCore::CloneSerializer::startArray):
39056          Lift out duplicate code
39057        (WebCore::CloneSerializer::endObject):
39058          Can't remove objects from the gcbuffer now as they need to remain live
39059          so we can identify graphs
39060        (WebCore::CloneSerializer::writeStringIndex):
39061        (WebCore::CloneSerializer::writeObjectIndex):
39062        (WebCore::CloneSerializer::writeConstantPoolIndex):
39063        (WebCore::CloneSerializer::write):
39064        (WebCore::CloneSerializer::serialize):
39065        (WebCore::CloneDeserializer::readStringIndex):
39066        (WebCore::CloneDeserializer::readConstantPoolIndex):
39067        (WebCore::CloneDeserializer::readTerminal):
39068        (WebCore::CloneDeserializer::deserialize):
39069
390702010-12-20  Xan Lopez  <xlopez@igalia.com>
39071
39072        Reviewed by Gustavo Noronha.
39073
39074        * GNUmakefile.am: add missing files.
39075
390762010-12-20  Abhishek Arya  <inferno@chromium.org>
39077
39078        Reviewed by James Robinson.
39079
39080        Pass the correct beforeChild value when adding a child to an anonymous table part.
39081        https://bugs.webkit.org/show_bug.cgi?id=50932
39082
39083        When a "before" content child was added to an anonymous table part, it was added
39084        after the last child. This patch fixes the behavior by adding it properly before
39085        the first child.
39086
39087        Test: fast/css-generated-content/table-before-child-add.html
39088
39089        * rendering/RenderTableRow.cpp:
39090        (WebCore::RenderTableRow::addChild):
39091
390922010-12-18  Gavin Barraclough  <barraclough@apple.com>
39093
39094        Reviewed by Oliver Hunt.
39095
39096        Bug 26276 - Need a mechanism to determine stack extent
39097
39098        Add forwarding header for StackBounds.h.
39099
39100        * ForwardingHeaders/wtf/StackBounds.h: Added.
39101
391022010-12-20  James Robinson  <jamesr@chromium.org>
39103
39104        Unreviewed, rolling out r74278.
39105        http://trac.webkit.org/changeset/74278
39106        https://bugs.webkit.org/show_bug.cgi?id=50833
39107
39108        [chromium] Causes many layout tests to crash
39109
39110        * platform/graphics/chromium/LayerRendererChromium.cpp:
39111        (WebCore::LayerRendererChromium::LayerRendererChromium):
39112        (WebCore::LayerRendererChromium::prepareToDrawLayers):
39113        (WebCore::LayerRendererChromium::drawLayers):
39114        (WebCore::LayerRendererChromium::useRenderSurface):
39115        (WebCore::LayerRendererChromium::setScissorToRect):
39116        * platform/graphics/chromium/LayerRendererChromium.h:
39117
391182010-12-20  Geoffrey Garen  <ggaren@apple.com>
39119
39120        Reviewed by Sam Weinig.
39121
39122        Factored common page set management into a new PageBlock base class
39123        https://bugs.webkit.org/show_bug.cgi?id=51285
39124
39125        * ForwardingHeaders/wtf/PageBlock.h: Added.
39126
391272010-12-20  Steve Block  <steveblock@google.com>
39128
39129        Reviewed by Jeremy Orlow.
39130
39131        GeolocationPositionCache should do database access on background thread
39132        https://bugs.webkit.org/show_bug.cgi?id=50825
39133
39134        Covered by existing Geolocation tests.
39135
39136        * page/Coordinates.h:
39137        (WebCore::Coordinates::threadSafeCopy):
39138        * page/GeolocationPositionCache.cpp:
39139        (WebCore::GeolocationPositionCache::GeolocationPositionCache):
39140        (WebCore::GeolocationPositionCache::addUser):
39141        (WebCore::GeolocationPositionCache::removeUser):
39142        (WebCore::GeolocationPositionCache::setDatabasePath):
39143        (WebCore::GeolocationPositionCache::setCachedPosition):
39144        (WebCore::GeolocationPositionCache::cachedPosition):
39145        (WebCore::GeolocationPositionCache::startBackgroundThread):
39146        (WebCore::GeolocationPositionCache::threadEntryPoint):
39147        (WebCore::GeolocationPositionCache::threadEntryPointImpl):
39148        (WebCore::GeolocationPositionCache::triggerReadFromDatabase):
39149        (WebCore::GeolocationPositionCache::readFromDatabase):
39150        (WebCore::GeolocationPositionCache::readFromDatabaseImpl):
39151        (WebCore::GeolocationPositionCache::triggerWriteToDatabase):
39152        (WebCore::GeolocationPositionCache::writeToDatabase):
39153        (WebCore::GeolocationPositionCache::writeToDatabaseImpl):
39154        * page/GeolocationPositionCache.h:
39155        * page/Geoposition.h:
39156        (WebCore::Geoposition::threadSafeCopy):
39157        (WebCore::Geoposition::Geoposition):
39158
391592010-12-20  Andras Becsi  <abecsi@webkit.org>
39160
39161        Unreviewed build fix.
39162
39163        [Qt][V8] Add  missing sources to the pro file and remove duplications to fix linking.
39164
39165        No new tests needed.
39166
39167        * WebCore.pro:
39168
391692010-12-20  Alexander Pavlov  <apavlov@chromium.org>
39170
39171        Reviewed by Yury Semikhatsky.
39172
39173        Web Inspector: Make CSSCompletions a real class rather than singleton
39174        https://bugs.webkit.org/show_bug.cgi?id=51332
39175
39176        Drive-by: make use of keywords from re2js in the CSS tokenizer
39177        (apparently, various authors have presumed that re2js is processed at build time).
39178
39179        No new tests, as this is a refactoring.
39180
39181        * inspector/front-end/CSSCompletions.js:
39182        (WebInspector.CSSCompletions):
39183        (WebInspector.CSSCompletions.prototype.startsWith):
39184        (WebInspector.CSSCompletions.prototype.firstStartsWith):
39185        (WebInspector.CSSCompletions.prototype._firstIndexOfPrefix):
39186        (WebInspector.CSSCompletions.prototype.keySet):
39187        (WebInspector.CSSCompletions.prototype.next):
39188        (WebInspector.CSSCompletions.prototype.previous):
39189        (WebInspector.CSSCompletions.prototype._closest):
39190        * inspector/front-end/SourceCSSTokenizer.js:
39191        (WebInspector.SourceCSSTokenizer):
39192        * inspector/front-end/SourceCSSTokenizer.re2js:
39193        * inspector/front-end/StylesSidebarPane.js:
39194        (WebInspector.StylePropertyTreeElement.prototype):
39195        * inspector/front-end/inspector.js:
39196        (WebInspector.doLoadedDone.propertyNamesCallback):
39197        (WebInspector.doLoadedDone):
39198
391992010-12-10  Pavel Podivilov  <podivilov@chromium.org>
39200
39201        Reviewed by Yury Semikhatsky.
39202
39203        Web Inspector: "Add conditional breakpoint" - create breakpoint only after condition is provided.
39204        https://bugs.webkit.org/show_bug.cgi?id=50813
39205
39206        * inspector/front-end/SourceFrame.js:
39207        (WebInspector.SourceFrame.prototype._addBreakpoint):
39208        (WebInspector.SourceFrame.prototype._breakpointRemoved):
39209        (WebInspector.SourceFrame.prototype._breakpointChanged):
39210        (WebInspector.SourceFrame.prototype._setBreakpointDecoration):
39211        (WebInspector.SourceFrame.prototype._removeBreakpointDecoration):
39212        (WebInspector.SourceFrame.prototype._contextMenu.addConditionalBreakpoint.didEditBreakpointCondition):
39213        (WebInspector.SourceFrame.prototype._contextMenu.addConditionalBreakpoint):
39214        (WebInspector.SourceFrame.prototype._contextMenu.else.editBreakpointCondition.didEditBreakpointCondition):
39215        (WebInspector.SourceFrame.prototype._contextMenu.else.editBreakpointCondition):
39216        (WebInspector.SourceFrame.prototype._contextMenu):
39217        (WebInspector.SourceFrame.prototype._editBreakpointCondition.finishEditing):
39218        (WebInspector.SourceFrame.prototype._editBreakpointCondition):
39219        (WebInspector.SourceFrame.prototype._continueToLine):
39220        (WebInspector.SourceFrame.prototype._setBreakpoint):
39221
392222010-12-20  Andrei Popescu  <andreip@google.com>
39223
39224        Reviewed by Jeremy Orlow.
39225
39226        IDBTransactionBackedImpl instances can be accidentally deleted during calls to abort/commit.
39227        https://bugs.webkit.org/show_bug.cgi?id=51112
39228
39229        Makes IDBTransactionBackendImpl objects take a self reference while executing commit and abort.
39230
39231        Test: storage/indexeddb/transaction-crash-on-abort.html
39232
39233        * storage/IDBTransactionBackendImpl.cpp:
39234        (WebCore::IDBTransactionBackendImpl::abort):
39235        (WebCore::IDBTransactionBackendImpl::commit):
39236
392372010-12-20  Andrei Popescu  <andreip@google.com>
39238
39239        Reviewed by Jeremy Orlow.
39240
39241        IDBCursor::delete is not implemented.
39242        https://bugs.webkit.org/show_bug.cgi?id=51110
39243
39244        Implement IDBCursor::delete.
39245        See http://dvcs.w3.org/hg/IndexedDB/raw-file/tip/Overview.html#widl-IDBCursor-delete
39246
39247        Tests: storage/indexeddb/cursor-delete.html
39248               storage/indexeddb/cursor-index-delete.html
39249
39250        * storage/IDBCursor.cpp:
39251        (WebCore::IDBCursor::deleteFunction):
39252        * storage/IDBCursor.h:
39253        * storage/IDBCursor.idl:
39254        * storage/IDBCursorBackendImpl.cpp:
39255        (WebCore::IDBCursorBackendImpl::IDBCursorBackendImpl):
39256        (WebCore::IDBCursorBackendImpl::deleteFunction):
39257        (WebCore::IDBCursorBackendImpl::loadCurrentRow):
39258        * storage/IDBCursorBackendImpl.h:
39259        (WebCore::IDBCursorBackendImpl::create):
39260        * storage/IDBCursorBackendInterface.h:
39261        * storage/IDBIndexBackendImpl.cpp:
39262        (WebCore::IDBIndexBackendImpl::openCursorInternal):
39263        * storage/IDBKey.cpp:
39264        (WebCore::IDBKey::fromQuery):
39265        * storage/IDBObjectStoreBackendImpl.cpp:
39266        (WebCore::IDBObjectStoreBackendImpl::deleteInternal):
39267        (WebCore::IDBObjectStoreBackendImpl::openCursorInternal):
39268
392692010-12-20  Yury Semikhatsky  <yurys@chromium.org>
39270
39271        Reviewed by Pavel Feldman.
39272
39273        Web Inspector: After a multiline command execution Console does not show the command prompt
39274        https://bugs.webkit.org/show_bug.cgi?id=51257
39275
39276        * inspector/front-end/TextPrompt.js:
39277        (WebInspector.TextPrompt.prototype._moveBackInHistory):
39278        (WebInspector.TextPrompt.prototype._moveForwardInHistory):
39279
392802010-12-19  Helder Correia  <helder@sencha.com>
39281
39282        Reviewed by Ariya Hidayat.
39283
39284        [Qt] Blur distance should not be affected by transformations
39285        https://bugs.webkit.org/show_bug.cgi?id=51161
39286
39287        From the spec at http://dev.w3.org/html5/2dcontext/#dom-context-2d-shadowblur:
39288        "The shadowBlur attribute specifies the level of the blurring effect.
39289        (The units do not map to coordinate space units, and are not affected
39290        by the current transformation matrix.)"
39291
39292        Test: fast/canvas/canvas-scale-shadowBlur.html
39293
39294        * platform/graphics/ContextShadow.cpp:
39295        (WebCore::ContextShadow::adjustBlurDistance):
39296        * platform/graphics/ContextShadow.h:
39297        * platform/graphics/cairo/ContextShadowCairo.cpp:
39298        (WebCore::ContextShadow::beginShadowLayer):
39299        * platform/graphics/qt/ContextShadowQt.cpp:
39300        (WebCore::ContextShadow::beginShadowLayer):
39301
393022010-12-19  Dan Bernstein  <mitz@apple.com>
39303
39304        Reviewed by Cameron Zwarich.
39305
39306        Text emphasis marks are not repainted correctly in flipped writing modes
39307        https://bugs.webkit.org/show_bug.cgi?id=51307
39308
39309        Tests: fast/repaint/text-emphasis-h.html
39310               fast/repaint/text-emphasis-v.html
39311
39312        * rendering/InlineFlowBox.cpp:
39313        (WebCore::InlineFlowBox::addTextBoxVisualOverflow): Added flippedness check.
39314
393152010-12-19  Rob Buis  <rwlbuis@gmail.com>
39316
39317        Reviewed by Andreas Kling.
39318
39319        Remove m_drawsContents from RenderSVGContainer.h
39320        https://bugs.webkit.org/show_bug.cgi?id=51305
39321
39322        Remove m_drawsContents, its getter and setter and the call
39323        sites, since it has no effect anymore.
39324
39325        * WebCore.order:
39326        * rendering/RenderSVGContainer.cpp:
39327        (WebCore::RenderSVGContainer::RenderSVGContainer):
39328        (WebCore::RenderSVGContainer::paint):
39329        * rendering/RenderSVGContainer.h:
39330        * rendering/RenderSVGResourceContainer.h:
39331        * rendering/SVGImageBufferTools.cpp:
39332        (WebCore::SVGImageBufferTools::renderSubtreeToImageBuffer):
39333
393342010-12-19  Benjamin Poulain  <benjamin.poulain@nokia.com>
39335
39336        Reviewed by Kenneth Rohde Christiansen.
39337
39338        WebKit does not build with worker but without the javascript debugger
39339        https://bugs.webkit.org/show_bug.cgi?id=51293
39340
39341        Add missing guard for calls depending on the debugger.
39342
39343        * inspector/InspectorController.cpp:
39344        (WebCore::InspectorController::populateScriptObjects):
39345        (WebCore::InspectorController::postWorkerNotificationToFrontend):
39346
393472010-12-18  Tom Sepez  <tsepez@chromium.org>
39348
39349        Reviewed by David Levin.
39350
39351        https://bugs.webkit.org/show_bug.cgi?id=51055
39352        Fix a null de-reference when an XML file contains a malformed entity
39353        of the form "&:;".
39354
39355        Test: fast/parser/xml-colon-entity.html
39356
39357        * html/parser/HTMLEntitySearch.cpp:
39358        (WebCore::HTMLEntitySearch::advance):
39359
393602010-12-18  Noel Gordon  <noel.gordon@gmail.com>
39361
39362        Reviewed by David Levin.
39363
39364        [chromium] Simplify the PNG encoder.
39365        https://bugs.webkit.org/show_bug.cgi?id=50905
39366
39367        Remove PNGEncoderState class - it was a proxy for the encoder output, and
39368        that is a Vector<>, so just write into it directly using append() to make
39369        use of Vector<>'s resize() smarts. Simplify the preMultipliedBGRAtoRGBA()
39370        and encode() routines, replace the OwnArrayPtr<> with a Vector<>.
39371        
39372        canvas.toDataURL("image/png") is covered by existing tests.
39373
39374        * platform/image-encoders/skia/PNGImageEncoder.cpp:
39375        (WebCore::writeOutput): Use a Vector<>, append() the encoded data to it.
39376        (WebCore::preMultipliedBGRAtoRGBA): simplified.
39377        (WebCore::PNGImageEncoder::encode): ditto.
39378
393792010-12-18  Dan Bernstein  <mitz@apple.com>
39380
39381        Reviewed by Cameron Zwarich.
39382
39383        Text emphasis marks are not always included in the selection highlight
39384        https://bugs.webkit.org/show_bug.cgi?id=51299
39385
39386        Affects pixel results of fast/text/emphasis.html
39387
39388        Account for annotations in selectionTop() and selectionBottom().
39389
39390        * rendering/RootInlineBox.cpp:
39391        (WebCore::RootInlineBox::selectionTop):
39392        (WebCore::RootInlineBox::selectionBottom):
39393
393942010-12-18  Dan Bernstein  <mitz@apple.com>
39395
39396        Reviewed by Cameron Zwarich.
39397
39398        In flipped writing modes, opposite text emphasis marks from adjacent lines overlap
39399        https://bugs.webkit.org/show_bug.cgi?id=51298
39400
39401        Test: fast/text/emphasis-overlap.html
39402
39403        * rendering/RootInlineBox.cpp:
39404        (WebCore::RootInlineBox::beforeAnnotationsAdjustment): Changed + to -.
39405
394062010-12-18  Helder Correia  <helder@sencha.com> and Martin Robinson  <mrobinson@igalia.com>
39407
39408        Reviewed by Ariya Hidayat.
39409
39410        [Qt] Canvas shadow offset should not be affected by any transformation
39411        https://bugs.webkit.org/show_bug.cgi?id=50422
39412
39413        On a canvas context, shadows are currently affected by all
39414        transformations except scaling. According to the spec:
39415        http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html#shadows
39416
39417        "The shadowOffsetX and shadowOffsetY attributes specify the distance
39418        that the shadow will be offset in the positive horizontal and positive
39419        vertical distance respectively. Their values are in coordinate space
39420        units. They are not affected by the current transformation matrix."
39421
39422        NOTE: this applies only to canvas, not to box shadows.
39423
39424        Test: fast/canvas/canvas-transforms-fillRect-shadow.html
39425
39426        * platform/graphics/ContextShadow.cpp:
39427        (WebCore::ContextShadow::ContextShadow):
39428        (WebCore::ContextShadow::calculateLayerBoundingRect):
39429        * platform/graphics/ContextShadow.h:
39430        (WebCore::ContextShadow::setShadowsIgnoreTransforms):
39431        (WebCore::ContextShadow::shadowsIgnoreTransforms):
39432        (WebCore::ContextShadow::offset):
39433        * platform/graphics/qt/ContextShadowQt.cpp:
39434        (WebCore::ContextShadow::beginShadowLayer):
39435        (WebCore::ContextShadow::endShadowLayer):
39436        * platform/graphics/qt/GraphicsContextQt.cpp:
39437        (WebCore::mustUseContextShadow):
39438        (WebCore::GraphicsContext::fillPath):
39439        (WebCore::GraphicsContext::strokePath):
39440        (WebCore::GraphicsContext::fillRect):
39441        (WebCore::GraphicsContext::fillRoundedRect):
39442        (WebCore::GraphicsContext::setPlatformShadow):
39443
394442010-12-18  Ariya Hidayat  <ariya@sencha.com>
39445
39446        Reviewed by Andreas Kling.
39447
39448        [Qt] TransparencyLayer should inherit its container render hints
39449        https://bugs.webkit.org/show_bug.cgi?id=51283
39450
39451        * platform/graphics/qt/TransparencyLayer.h:
39452        (WebCore::TransparencyLayer::TransparencyLayer):
39453
394542010-12-18  Tony Gentilcore  <tonyg@chromium.org>
39455
39456        Reviewed by Laszlo Gombos.
39457
39458        [Web Timing] Rename domContentLoaded{Start,End}->domContentLoadedEvent{Start,End}
39459        https://bugs.webkit.org/show_bug.cgi?id=50943
39460
39461        See: http://test.w3.org/webperf/specs/NavigationTiming/#nt-dom-content-event-start
39462
39463        * dom/Document.cpp:
39464        (WebCore::Document::finishedParsing):
39465        * dom/DocumentTiming.h:
39466        (WebCore::DocumentTiming::DocumentTiming):
39467        * page/PerformanceTiming.cpp:
39468        (WebCore::PerformanceTiming::domContentLoadedEventStart):
39469        (WebCore::PerformanceTiming::domContentLoadedEventEnd):
39470        * page/PerformanceTiming.h:
39471        * page/PerformanceTiming.idl:
39472
394732010-12-17  Justin Schuh  <jschuh@chromium.org>
39474
39475        Reviewed by Andreas Kling.
39476
39477        Style fix for r73927
39478        https://bugs.webkit.org/show_bug.cgi?id=51194
39479
39480        No functionality change. No new tests needed.
39481
39482        * html/HTMLCanvasElement.h:
39483
394842010-12-17  Carlos Garcia Campos  <cgarcia@igalia.com>
39485
39486        Reviewed by Martin Robinson.
39487
39488        [GTK] Buttons rendering was broken in r74129
39489        https://bugs.webkit.org/show_bug.cgi?id=51173
39490
39491        * platform/gtk/RenderThemeGtk.cpp:
39492        (WebCore::RenderThemeGtk::paintRenderObject):
39493
394942010-12-17  Zoltan Herczeg  <zherczeg@webkit.org>
39495
39496        Reviewed by Dirk Schulze.
39497
39498        Improve 'arithmetic' operator on feComposite
39499        https://bugs.webkit.org/show_bug.cgi?id=51105
39500
39501        Fixing style errors and bug description for r74177.
39502
39503        * platform/graphics/filters/FEComposite.cpp:
39504        (WebCore::arithmetic):
39505
395062010-12-17  Dan Bernstein  <mitz@apple.com>
39507
39508        Rubber-stamped by Mark Rowe.
39509
39510        Updated for the renaming of WebKitTools to Tools
39511
39512        * WebCore.vcproj/build-generated-files.sh:
39513        * WebCore.vcproj/migrate-scripts.sh:
39514
395152010-12-17  Carol Szabo  <carol.szabo@nokia.com>
39516
39517        Reviewed by Darin Adler.
39518
39519        A corrupted counter tree is created when renderers are added to the
39520        tree bypassing RenderObject::addChild
39521        https://bugs.webkit.org/show_bug.cgi?id=51270
39522
39523        This patch replaces the hack introduced for fixing bug 43812
39524        with code that addresses the underlying problem for that bug.
39525        No new layout tests provided as there is no identified scenario when
39526        visible behavior would be different, the internal datastructures
39527        are maintained properly through this fix so the previous hack
39528        introduced for bug 43812 is now removed. The fact that the 
39529        layout test introduced for 43812 continues to pass is proof that the
39530        code works.
39531
39532        * rendering/RenderCounter.cpp:
39533        (WebCore::findPlaceForCounter):
39534          Removed hack.
39535        * rendering/RenderObject.cpp:
39536        (WebCore::RenderObject::addChild):
39537          Moved call to counter nodes updater to lower level
39538          functions to avoid bypass.
39539        * rendering/RenderObjectChildList.cpp:
39540        (WebCore::RenderObjectChildList::appendChildNode):
39541        (WebCore::RenderObjectChildList::insertChildNode):
39542          Changed to update the values of the counters that
39543          may be inserted in the tree.
39544
395452010-12-17  Shimeng (Simon) Wang  <swang@google.com>
39546
39547        Reviewed by Steve Block.
39548
39549        Fix V8 JNI binding.
39550        https://bugs.webkit.org/show_bug.cgi?id=51156
39551
39552        There're LayoutTests in:
39553        http://trac.webkit.org/browser/trunk/LayoutTests/java/lc3/JSNumber
39554        to exercise these code paths.
39555        Though Chromium don't run them.
39556        Tested on Android fast/events/touch tests.
39557
39558        * bridge/jni/v8/JNIUtilityPrivate.cpp:
39559        (JSC::Bindings::convertNPVariantToJValue):
39560
395612010-12-17  Simon Fraser  <simon.fraser@apple.com>
39562
39563        Reviewed by Chris Marrin.
39564
39565        Interrupted accelerated animation can break later transitions
39566        <rdar://problem/8767714>
39567        https://bugs.webkit.org/show_bug.cgi?id=51264
39568        
39569        If we're still waiting for the 'animationDidStart' callback when renderers
39570        get destroyed, then the m_waitingForStartTimeResponse flag could be left
39571        set to 'true', which causes later transitions to never start.
39572        
39573        Fix by clearing the m_waitingForStartTimeResponse flag when the m_startTimeResponseWaiters
39574        becomes empty.
39575
39576        Test: transitions/interrupted-accelerated-transition.html
39577
39578        * page/animation/AnimationController.cpp:
39579        (WebCore::AnimationControllerPrivate::removeFromStartTimeResponseWaitList):
39580
395812010-12-17  Simon Fraser  <simon.fraser@apple.com>
39582
39583        Reviewed by Chris Marrin.
39584
39585        Interrupted accelerated animation can break later transitions
39586        https://bugs.webkit.org/show_bug.cgi?id=51264
39587
39588        Step 1: code cleanup.
39589        Rename "responseWait" variables to "startTimeResponseWait", to make it clear
39590        the kind of response that is being waited for.
39591        
39592        Make a couple of methods private.
39593        
39594        No behavioral changes, so no tests.
39595
39596        * page/animation/AnimationController.cpp:
39597        (WebCore::AnimationControllerPrivate::AnimationControllerPrivate):
39598        (WebCore::AnimationControllerPrivate::endAnimationUpdate):
39599        (WebCore::AnimationControllerPrivate::receivedStartTimeResponse):
39600        (WebCore::AnimationControllerPrivate::addToStartTimeResponseWaitList):
39601        (WebCore::AnimationControllerPrivate::removeFromStartTimeResponseWaitList):
39602        (WebCore::AnimationControllerPrivate::startTimeResponse):
39603        * page/animation/AnimationControllerPrivate.h:
39604
396052010-12-17  Dan Bernstein  <mitz@apple.com>
39606
39607        Reviewed by Dave Hyatt.
39608
39609        Layout and rendering of CSS text-emphasis
39610        Final part of <rdar://problem/7720300> Support the CSS3 text-emphasis property
39611        https://bugs.webkit.org/show_bug.cgi?id=48539
39612
39613        Tests: fast/text/emphasis-vertical.html
39614               fast/text/emphasis.html
39615
39616        Emphasis marks behave like they are stuck just above the ascender (or just below the
39617        descender). They occupy space in the leading and in padding, and only grow the line space
39618        if they cannot fit.
39619
39620        * rendering/InlineFlowBox.cpp:
39621        (WebCore::InlineFlowBox::placeBoxesInBlockDirection): Renamed the containsRuby parameter to
39622        hasAnnotationsBefore, and added hasAnnotationsAfter. Line annotations include ruby and text emphasis
39623        marks.
39624        (WebCore::InlineFlowBox::addTextBoxVisualOverflow): Added overflow from emphasis marks.
39625        (WebCore::InlineFlowBox::computeOverAnnotationAdjustment): Remaned computeBlockDirectionRubyAdjustment()
39626        to this and added adjustment for text emphasis marks.
39627        (WebCore::InlineFlowBox::computeUnderAnnotationAdjustment): Added. Similar to the previous function,
39628        but for annotations under the glyphs. These can only be text emphasis marks.
39629        * rendering/InlineFlowBox.h:
39630        * rendering/InlineTextBox.cpp:
39631        (WebCore::paintTextWithShadows): Paint emphasis marks.
39632        (WebCore::InlineTextBox::paint): Ditto.
39633        * rendering/RenderBlockLineLayout.cpp:
39634        (WebCore::RenderBlock::layoutInlineChildren): Generalized the code that adjusts the last line for
39635        ruby in flipped writing mode to also adjust the last line for emphasis marks under the line in non-
39636        flipped writing mode.
39637        * rendering/RenderObject.cpp:
39638        (WebCore::RenderObject::selectionColor): Added this helper method which generalizes selectionForegroundColor().
39639        (WebCore::RenderObject::selectionForegroundColor): Moved most of the code to selectionColor().
39640        (WebCore::RenderObject::selectionEmphasisMarkColor): Added.
39641        * rendering/RenderObject.h:
39642        * rendering/RootInlineBox.cpp:
39643        (WebCore::RootInlineBox::RootInlineBox): Updated initialization for new members.
39644        (WebCore::RootInlineBox::alignBoxesInBlockDirection): Update new members.
39645        (WebCore::RootInlineBox::beforeAnnotationsAdjustment): Renamed blockDirectionRubyAdjustment() to this
39646        and extended to deal with annotations over and under the line and the previous line. If both lines have
39647        annotations into the space between the lines, maintain separation so that the annotations do not overlap.
39648        * rendering/RootInlineBox.h:
39649        (WebCore::RootInlineBox::hasAnnotationsBefore): Added this accessor.
39650        (WebCore::RootInlineBox::hasAnnotationsAfter): Ditto.
39651
396522010-12-17  W. James MacLean  <wjmaclean@chromium.org>
39653
39654        Reviewed by James Robinson.
39655
39656        [chromium] Add support to compositor to composite to offscreen texture.
39657        https://bugs.webkit.org/show_bug.cgi?id=50833
39658
39659        A patch to extend compositor to be able to composite into an offscreen texture instead
39660        of just directly to the display buffer. Builds on RenderSurfaceChromium support.
39661
39662        External behaviour not changed, so no tests.
39663
39664        * platform/graphics/chromium/LayerRendererChromium.cpp:
39665        (WebCore::LayerRendererChromium::LayerRendererChromium):
39666        (WebCore::LayerRendererChromium::prepareToDrawLayers):
39667        (WebCore::LayerRendererChromium::drawLayers):
39668        (WebCore::LayerRendererChromium::setCompositeOffscreen):
39669        (WebCore::LayerRendererChromium::useRenderSurface):
39670        (WebCore::LayerRendererChromium::setScissorToRect):
39671        * platform/graphics/chromium/LayerRendererChromium.h:
39672        (WebCore::LayerRendererChromium::isCompositingOffscreen):
39673        (WebCore::LayerRendererChromium::getOffscreenLayerTexture):
39674
396752010-12-17  Ariya Hidayat  <ariya@sencha.com>
39676
39677        Reviewed by Andreas Kling.
39678
39679        [Qt] Default image interpolation should reset the render hint
39680        https://bugs.webkit.org/show_bug.cgi?id=51233
39681
39682        Save initial SmoothPixmapTransform render hint so that it can be used
39683        with default image interpolation quality to reset back the render hints.
39684
39685        * platform/graphics/qt/GraphicsContextQt.cpp:
39686        (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
39687        (WebCore::GraphicsContext::setImageInterpolationQuality):
39688
396892010-12-17  Hans Wennborg  <hans@chromium.org>
39690
39691        Reviewed by Jeremy Orlow.
39692
39693        IndexedDB: Support Date objects as keys.
39694        https://bugs.webkit.org/show_bug.cgi?id=51193
39695
39696        * bindings/v8/IDBBindingUtilities.cpp:
39697        (WebCore::createIDBKeyFromValue):
39698        Use the new IDBKey factory functions, and support Date objects.
39699        * bindings/v8/custom/V8IDBKeyCustom.cpp:
39700        (WebCore::toV8):
39701        Create Date objects from DateType keys.
39702        * storage/IDBKey.cpp:
39703        (WebCore::IDBKey::fromQuery):
39704        (WebCore::IDBKey::isEqual):
39705        (WebCore::IDBKey::whereSyntax):
39706        (WebCore::IDBKey::lowerCursorWhereFragment):
39707        (WebCore::IDBKey::upperCursorWhereFragment):
39708        (WebCore::IDBKey::bind):
39709        (WebCore::IDBKey::bindWithNulls):
39710        Update all SQL related functions to handle Date keys.
39711        * storage/IDBKey.h:
39712        (WebCore::IDBKey::createNull):
39713        (WebCore::IDBKey::createNumber):
39714        (WebCore::IDBKey::createString):
39715        (WebCore::IDBKey::createDate):
39716        Rename the create factories; since both number and date is just a
39717        double, function overloading can't be used to discriminate between
39718        the factories.
39719        (WebCore::IDBKey::date):
39720        Add getter for the date value.
39721
397222010-12-17  Pavel Podivilov  <podivilov@chromium.org>
39723
39724        Reviewed by Pavel Feldman.
39725
39726        Web Inspector: add scripts parsed after resource load to SourceFrame.
39727        https://bugs.webkit.org/show_bug.cgi?id=51243
39728
39729        * inspector/front-end/ScriptsPanel.js:
39730        (WebInspector.ScriptsPanel.prototype._addScript):
39731        * inspector/front-end/SourceFrame.js:
39732        (WebInspector.SourceFrame.prototype.addScript):
39733
397342010-12-17  Anton Muhin  <antonm@chromium.org>
39735
39736        Reviewed by Yury Semikhatsky.
39737
39738        [v8] The last portion of CSS GC work: fixing fast/dom/StyleSheet/gc-stylesheet-wrapper.html
39739        https://bugs.webkit.org/show_bug.cgi?id=51121
39740
39741        Properly group style elements of HTML links, style elements and processing instructions.
39742
39743        * bindings/v8/V8GCController.cpp:
39744        (WebCore::NodeGrouperVisitor::visitDOMWrapper):
39745        (WebCore::NodeGrouperVisitor::addDOMObjectToGroup):
39746
397472010-12-17  Pavel Podivilov  <podivilov@chromium.org>
39748
39749        Reviewed by Pavel Feldman.
39750
39751        Web Inspector: [REGRESSION] scripts in scripts panel are not updated on reload.
39752        https://bugs.webkit.org/show_bug.cgi?id=51101
39753
39754        * inspector/front-end/ResourceManager.js:
39755        (WebInspector.ResourceTreeModel.prototype.didCommitLoadForFrame):
39756
397572010-12-17  Benjamin Poulain  <benjamin.poulain@nokia.com>
39758
39759        Reviewed by Laszlo Gombos.
39760
39761        The inspector does not compile without JAVASCRIPT_DEBUGGER
39762        https://bugs.webkit.org/show_bug.cgi?id=51246
39763
39764        Fix the build, m_extraHeaders does not depend on JAVASCRIPT_DEBUGGER.
39765
39766        * inspector/InspectorController.h:
39767
397682010-12-17  Andrey Kosyakov  <caseq@chromium.org>
39769
39770        Reviewed by Pavel Feldman.
39771
39772        Web Inspector: clear extra/override headers when front-end is closed
39773        https://bugs.webkit.org/show_bug.cgi?id=51244
39774
39775        * inspector/InspectorController.cpp:
39776        (WebCore::InspectorController::disconnectFrontend):
39777        (WebCore::InspectorController::willSendRequest):
39778
397792010-12-17  Pavel Feldman  <pfeldman@chromium.org>
39780
39781        Reviewed by Yury Semikhatsky.
39782
39783        Web Inspector: [REGRESSION] Cmd (Ctrl) + G does not search next in Scripts panel.
39784        https://bugs.webkit.org/show_bug.cgi?id=50893
39785
39786        Now Mac shortcuts are:
39787        - Cmd F/G = find / next
39788        - Cmd L = go to line
39789
39790        Win/Linux:
39791        - Ctrl+G = go to line
39792
39793        * inspector/front-end/ScriptsPanel.js:
39794        (WebInspector.ScriptsPanel.prototype._registerShortcuts):
39795        * inspector/front-end/inspector.js:
39796        (WebInspector._registerShortcuts):
39797
397982010-12-16  Sergio Villar Senin  <svillar@igalia.com>
39799
39800        Reviewed by Martin Robinson.
39801
39802        Wrong check in ResourceHandleSoup in error cases
39803        https://bugs.webkit.org/show_bug.cgi?id=51171
39804
39805        Calling didReceiveData with no data causes a crash in debug
39806        builds. Checking for soupMsg->response_body->data is not correct as libsoup
39807        always creates a buffer for that. Instead we should check for
39808        soupMsg->response_body->length
39809
39810        * platform/network/soup/ResourceHandleSoup.cpp:
39811        (WebCore::sendRequestCallback):
39812
398132010-12-17  Andreas Kling  <andreas.kling@nokia.com>
39814
39815        Reviewed by Kenneth Rohde Christiansen.
39816
39817        [Qt] Avoid unnecessary calls to GraphicsContextPlatformPrivate::p()
39818        https://bugs.webkit.org/show_bug.cgi?id=49954
39819
39820        * platform/graphics/qt/GraphicsContextQt.cpp:
39821        (WebCore::GraphicsContext::pushTransparencyLayerInternal):
39822        (WebCore::GraphicsContext::beginTransparencyLayer):
39823
398242010-12-17  Carlos Garcia Campos  <cgarcia@igalia.com>
39825
39826        Reviewed by Martin Robinson.
39827
39828        [GTK] Compile warning introduced in r74129
39829        https://bugs.webkit.org/show_bug.cgi?id=51181
39830
39831        * platform/gtk/RenderThemeGtk.cpp:
39832        (WebCore::RenderThemeGtk::gtkContainer):
39833
398342010-12-17  James Simonsen  <simonjam@chromium.org>
39835
39836        Reviewed by Darin Fisher.
39837
39838        [Web Timing] Add sslHandshakeStart to interface
39839
39840        https://bugs.webkit.org/show_bug.cgi?id=50400
39841
39842        Test: http/tests/misc/webtiming-ssl.php
39843
39844        * page/PerformanceTiming.cpp:
39845        (WebCore::PerformanceTiming::connectStart): Update comment.
39846        (WebCore::PerformanceTiming::connectEnd): Remove SSL time.
39847        (WebCore::PerformanceTiming::sslHandshakeStart): Added.
39848        * page/PerformanceTiming.h: Added sslHandshakeStart.
39849        * page/PerformanceTiming.idl: Ditto.
39850
398512010-12-17  James Simonsen  <simonjam@chromium.org>
39852
39853        Reviewed by Darin Fisher.
39854
39855        [Web Timing] Navigation type enums should begin with TYPE_
39856        https://bugs.webkit.org/show_bug.cgi?id=51200
39857
39858        * page/PerformanceNavigation.cpp:
39859        (WebCore::PerformanceNavigation::type): Added TYPE_ to navigation types.
39860        * page/PerformanceNavigation.h: Ditto and added TYPE_RESERVED.
39861        * page/PerformanceNavigation.idl: Ditto.
39862
398632010-12-17  Steve Block  <steveblock@google.com>
39864
39865        Unreviewed build fix.
39866
39867        Fix build when Geolocation is disabled.
39868
39869        No new tests, build fix only.
39870
39871        * page/Geolocation.h:
39872
398732010-12-17  Patrick Gansterer  <paroga@webkit.org>
39874
39875        Unreviewed. WinCE build fix.
39876
39877        * platform/graphics/GraphicsContext.h:
39878
398792010-12-17  Ilya Tikhonovsky  <loislo@chromium.org>
39880
39881        Reviewed by Yury Semikhatsky.
39882
39883        Web Inspector: remove unnecessary dependencies from InspectorBackendStub.
39884
39885        InspectorBackendStub is a transport-only thing but it has dependencies with
39886        Callback.js and WebInspector namespace. Callback can be integrated into
39887        InspectorBackendStub because it is the only client.
39888        Without these dependencies InspectorBackendStub can be used as an API
39889        wrapper for Inspector Protocol.
39890
39891        https://bugs.webkit.org/show_bug.cgi?id=51184
39892
39893        * WebCore.gypi:
39894        * inspector/CodeGeneratorInspector.pm:
39895        * inspector/front-end/Callback.js: Removed.
39896        * inspector/front-end/WebKit.qrc:
39897        * inspector/front-end/inspector.html:
39898
398992010-12-15  Andrey Kosyakov  <caseq@chromium.org>
39900
39901        Reviewed by Pavel Feldman.
39902
39903        Web Inspector: [Extension API] add support for adding/overriding HTTP request headers
39904        https://bugs.webkit.org/show_bug.cgi?id=50493
39905
39906        Test: http/tests/inspector/extensions-headers.html
39907
39908        * inspector/Inspector.idl:
39909        * inspector/InspectorController.cpp:
39910        (WebCore::InspectorController::willSendRequest): Apply extra headers.
39911        (WebCore::InspectorController::setExtraHeaders):
39912        * inspector/InspectorController.h:
39913        * inspector/front-end/ExtensionAPI.js:
39914        (WebInspector.injectedExtensionAPI.Resources.prototype.getHAR):
39915        (WebInspector.injectedExtensionAPI.Resources.prototype.addRequestHeaders):
39916        * inspector/front-end/ExtensionServer.js:
39917        (WebInspector.ExtensionServer):
39918        (WebInspector.ExtensionServer.prototype._onAddRequestHeaders):
39919
399202010-12-16  Koan-Sin Tan  <koansin.tan@gmail.com>
39921
39922        Reviewed by Kent Tamura.
39923
39924        Glyphs in vertical text tests are rotated 90 degrees clockwise on Chromium Linux
39925        https://bugs.webkit.org/show_bug.cgi?id=50365
39926
39927        No new tests. But this makes Chromimium Linux show
39928        fast/blockflow/japanese-*-text.html and other vertical
39929        writing text correctly as on WebKit and Chromimum for Mac.
39930
39931        * platform/graphics/chromium/FontCacheLinux.cpp:
39932        (WebCore::FontCache::createFontPlatformData):
39933        * platform/graphics/chromium/FontLinux.cpp:
39934        (WebCore::Font::drawGlyphs):
39935        * platform/graphics/chromium/FontPlatformDataLinux.cpp:
39936        (WebCore::FontPlatformData::FontPlatformData):
39937        (WebCore::FontPlatformData::operator=):
39938        (WebCore::FontPlatformData::operator==):
39939        (WebCore::FontPlatformData::hash):
39940        * platform/graphics/chromium/FontPlatformDataLinux.h:
39941        (WebCore::FontPlatformData::FontPlatformData):
39942        (WebCore::FontPlatformData::orientation):
39943        * platform/graphics/chromium/SimpleFontDataLinux.cpp:
39944        (WebCore::SimpleFontData::platformInit):
39945        * platform/graphics/skia/FontCustomPlatformData.cpp:
39946        (WebCore::FontCustomPlatformData::fontPlatformData):
39947        * platform/graphics/skia/GlyphPageTreeNodeSkia.cpp:
39948        (WebCore::substituteWithVerticalGlyphs):
39949        (WebCore::GlyphPage::fill):
39950
399512010-12-16  Yi Shen  <yi.4.shen@nokia.com>, Tor Arne Vestbo <tor.arne.vestbo@nokia.com>
39952
39953        Reviewed by Eric Carlson.
39954
39955        Provide an interface to require using fullscreen mediaplayer
39956        https://bugs.webkit.org/show_bug.cgi?id=51133
39957
39958        Add ChromeClient::requiresFullscreenForVideoPlayback to require webkit
39959        to launch fullscreen video player for playing the html5 video. The 
39960        idea is that a browser vendor can specify this behavior through the
39961        platform plugin or something else by using this interface.
39962
39963        No new tests because no client implements requiresFullscreenForVideoPlayback yet.
39964
39965        * html/HTMLMediaElement.cpp:
39966        (WebCore::HTMLMediaElement::updatePlayState):
39967        (WebCore::HTMLMediaElement::exitFullscreen):
39968        * page/Chrome.cpp:
39969        (WebCore::Chrome::requiresFullscreenForVideoPlayback):
39970        * page/Chrome.h:
39971        * page/ChromeClient.h:
39972        (WebCore::ChromeClient::requiresFullscreenForVideoPlayback):
39973
399742010-12-16  Steve Block  <steveblock@google.com>
39975
39976        Reviewed by Steve Block.
39977
39978        GeolocationPositionCache needs refactoring
39979        https://bugs.webkit.org/show_bug.cgi?id=50826
39980
39981        No new tests, refactoring only.
39982
39983        * page/Geolocation.cpp:
39984        (WebCore::Geolocation::Geolocation):
39985        (WebCore::Geolocation::makeCachedPositionCallbacks):
39986        (WebCore::Geolocation::haveSuitableCachedPosition):
39987        (WebCore::Geolocation::positionChangedInternal):
39988        * page/Geolocation.h:
39989        * page/GeolocationPositionCache.cpp:
39990        (WebCore::GeolocationPositionCache::instance):
39991        (WebCore::GeolocationPositionCache::GeolocationPositionCache):
39992        (WebCore::GeolocationPositionCache::addUser):
39993        (WebCore::GeolocationPositionCache::removeUser):
39994        (WebCore::GeolocationPositionCache::setDatabasePath):
39995        (WebCore::GeolocationPositionCache::setCachedPosition):
39996        (WebCore::GeolocationPositionCache::cachedPosition):
39997        (WebCore::GeolocationPositionCache::readFromDatabase):
39998        (WebCore::GeolocationPositionCache::writeToDatabase):
39999        * page/GeolocationPositionCache.h:
40000        (WebCore::GeolocationPositionCacheWrapper::GeolocationPositionCacheWrapper):
40001        (WebCore::GeolocationPositionCacheWrapper::~GeolocationPositionCacheWrapper):
40002        (WebCore::GeolocationPositionCacheWrapper::setCachedPosition):
40003        (WebCore::GeolocationPositionCacheWrapper::cachedPosition):
40004
400052010-12-16  Ariya Hidayat  <ariya@sencha.com>
40006
40007        Reviewed by Andreas Kling.
40008
40009        [Qt] GraphicsContext should respect QWebView render hints
40010        https://bugs.webkit.org/show_bug.cgi?id=51208
40011
40012        GraphicsContext does not override SmoothPixmapTransform (see also
40013        r62762). To keep the same behavior, canvas default image interpolation
40014        quality is set to medium and QWebView's render hints by default also
40015        include SmoothPixmapTransform.
40016
40017        * html/HTMLCanvasElement.h:
40018        * platform/graphics/qt/GraphicsContextQt.cpp:
40019        (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
40020
400212010-12-16  Daniel Bates  <dbates@rim.com>
40022
40023        Formatting fix; un-indent one level all lines in [2793, 2808] (with respect to r74217)
40024        so as to be consistent with the formatting of the rest of this file.
40025
40026        Also, add an empty line between the win32* and wince* conditional include blocks.
40027
40028        * WebCore.pro:
40029
400302010-12-16  Daniel Bates  <dbates@rim.com>
40031
40032        Reviewed by Antonio Gomes.
40033
40034        [Qt] Only include ScrollAnimatorWin.h and compile ScrollAnimatorWin.cpp
40035        on Windows if ENABLE_SMOOTH_SCROLLING=1
40036        https://bugs.webkit.org/show_bug.cgi?id=51215
40037
40038        Conditionally include the files ScrollAnimatorWin.h and ScrollAnimatorWin.cpp when building
40039        the Qt Windows with smooth scrolling enabled.
40040
40041        No change in functionality since these files are guarded by ENABLE(SMOOTH_SCROLLING).
40042
40043        * WebCore.pro:
40044
400452010-12-16  Ryosuke Niwa  <rniwa@webkit.org>
40046
40047        Reviewed by Darin Adler.
40048
40049        execCommand('JustifyCenter') adds extra BR
40050        https://bugs.webkit.org/show_bug.cgi?id=51082
40051
40052        The bug was caused by moveParagraphContentsToNewBlockIfNecessary's adding a placeholder br
40053        to new block and not removing it later. Fixed the bug by removing it when the paragraph
40054        moved into the block didn't have a br at the end.
40055
40056        Test: editing/execCommand/justify.html
40057
40058        * editing/CompositeEditCommand.cpp:
40059        (WebCore::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary):
40060
400612010-12-16  Jian Li  <jianli@chromium.org>
40062
40063        Unreviewed. Fixed chromium build break caused by r74207.
40064
40065        * platform/ContextMenuItem.h:
40066
400672010-12-16  Leandro Pereira  <leandro@profusion.mobi>
40068
40069        [EFL] Unreviewed build fix.
40070
40071        Disable ContextMenu support for now while support for
40072        CROSS_PLATFORM_MENUS is written.
40073
40074        * CMakeListsEfl.txt:
40075        * platform/ContextMenu.h:
40076        * platform/ContextMenuItem.h:
40077        * platform/efl/ContextMenuEfl.cpp:
40078        (WebCore::ContextMenu::ContextMenu):
40079        (WebCore::ContextMenu::getContextMenuItems):
40080        (WebCore::ContextMenu::createNativeMenuFromItems):
40081        (WebCore::ContextMenu::nativeMenu):
40082        * platform/efl/ContextMenuItemEfl.cpp:
40083        (WebCore::ContextMenuItem::ContextMenuItem):
40084        (WebCore::ContextMenuItem::~ContextMenuItem):
40085        (WebCore::ContextMenuItem::nativeMenuItem):
40086        (WebCore::ContextMenuItem::type):
40087        (WebCore::ContextMenuItem::setAction):
40088        (WebCore::ContextMenuItem::action):
40089        (WebCore::ContextMenuItem::setChecked):
40090        (WebCore::ContextMenuItem::checked):
40091        (WebCore::ContextMenuItem::setEnabled):
40092        (WebCore::ContextMenuItem::enabled):
40093        (WebCore::ContextMenuItem::setSubMenu):
40094
400952010-12-16  Ryosuke Niwa  <rniwa@webkit.org>
40096
40097        Reviewed by Darin Adler.
40098
40099        execCommand('styleWithCSS') is ignored when selection isn't inside a contenteditable area
40100        https://bugs.webkit.org/show_bug.cgi?id=51164
40101
40102        Fixed the bug by always enabling the StyleWithCSS command.
40103
40104        Test: editing/style/stylewithcss-without-selection.html
40105
40106        * editing/EditorCommand.cpp:
40107        (WebCore::createCommandMap): StyleWithCSS is enabled rather than enabledInRichlyEditableText.
40108
401092010-12-16  Anders Carlsson  <andersca@apple.com>
40110
40111        Reviewed by Darin Adler.
40112
40113        Save the manual plug-in stream data and redeliver it when the plug-in is initialized
40114        https://bugs.webkit.org/show_bug.cgi?id=51201
40115
40116        Export SharedBuffer related symbols.
40117
40118        * WebCore.exp.in:
40119
401202010-12-16  Pavel Feldman  <pfeldman@chromium.org>
40121
40122        Reviewed by Yury Semikhatsky.
40123
40124        Web Inspector: timeline records should only operate WebCore time.
40125        https://bugs.webkit.org/show_bug.cgi?id=51127
40126
40127        * inspector/InspectorTimelineAgent.cpp:
40128        (WebCore::InspectorTimelineAgent::didFinishLoadingResource):
40129        * inspector/TimelineRecordFactory.cpp:
40130        (WebCore::TimelineRecordFactory::createResourceFinishData):
40131        * inspector/TimelineRecordFactory.h:
40132
401332010-12-15  Alexey Proskuryakov  <ap@apple.com>
40134
40135        Reviewed by Darin Adler.
40136
40137        https://bugs.webkit.org/show_bug.cgi?id=50996
40138        <rdar://problem/8098862> Consider disabling DNS prefetch when proxy is used
40139
40140        No new tests, cannot test DNS.
40141
40142        * platform/network/cf/DNSCFNet.cpp:
40143        (WebCore::proxyIsEnabledInSystemPreferences): Check if accessing example.com is going to use
40144        a proxy. This is only an estimate - even with a proxy is configured in system preferences, an
40145        actual request can go directly to the host if a PAC script says so.
40146        (WebCore::DNSResolveQueue::add): Check if proxy is enabled when sending immediate requests.
40147        (WebCore::DNSResolveQueue::fired): Ditto when sending queued ones.
40148
401492010-12-16  Yury Semikhatsky  <yurys@chromium.org>
40150
40151        Reviewed by Pavel Feldman.
40152
40153        Web Inspector: Console always scroll to the bottom on new events
40154        https://bugs.webkit.org/show_bug.cgi?id=51189
40155
40156        When new messages are added to the console it will auto scroll
40157        only if it was already scrolled down to the last record.
40158
40159        * inspector/front-end/ConsoleView.js:
40160        (WebInspector.ConsoleView.prototype._scheduleScrollIntoView.scrollIntoView):
40161        (WebInspector.ConsoleView.prototype._scheduleScrollIntoView):
40162        (WebInspector.ConsoleView.prototype._isScrolledToLastMessage):
40163        (WebInspector.ConsoleView.prototype.addMessage):
40164
401652010-12-16  Pavel Podivilov  <podivilov@chromium.org>
40166
40167        Reviewed by Yury Semikhatsky.
40168
40169        Web Inspector: update CallStackSidebarPane placards and status message in the same event handler.
40170        https://bugs.webkit.org/show_bug.cgi?id=51174
40171
40172        * inspector/front-end/BreakpointManager.js:
40173        (WebInspector.BreakpointManager.prototype.breakpointViewForEventData):
40174        (WebInspector.BreakpointManager.prototype._debuggerPaused):
40175        (WebInspector.BreakpointManager.prototype._debuggerResumed):
40176        * inspector/front-end/CallStackSidebarPane.js:
40177        (WebInspector.CallStackSidebarPane):
40178        (WebInspector.CallStackSidebarPane.prototype.update):
40179        (WebInspector.CallStackSidebarPane.prototype.registerShortcuts):
40180        * inspector/front-end/DebuggerModel.js:
40181        (WebInspector.DebuggerModel.prototype.pausedScript):
40182        * inspector/front-end/ScriptsPanel.js:
40183        (WebInspector.ScriptsPanel.prototype._debuggerPaused):
40184
401852010-12-16  Hans Wennborg  <hans@chromium.org>
40186
40187        Reviewed by Jeremy Orlow.
40188
40189        IndexedDB: Fix IDBDatabaseError code offset bug
40190        https://bugs.webkit.org/show_bug.cgi?id=51177
40191
40192        IDBDatabaseError::code() needs to return the error code without
40193        offset. But when the IDBDatabaseError is created, the code comes with
40194        an offset (it gets passed a IDBDatabaseException::IDBDatabaseExceptionCode).
40195
40196        However, in Chromium, IDBDatabaseErrors are sometimes also created via
40197        WebIDBDatabaseError when they are sent across IPC, and then the error
40198        code comes *without* offset. Provide a second create() function for
40199        this case.
40200
40201        * storage/IDBDatabaseError.h:
40202        (WebCore::IDBDatabaseError::create):
40203        (WebCore::IDBDatabaseError::createWithoutOffset):
40204        (WebCore::IDBDatabaseError::code):
40205
402062010-12-16  Sheriff Bot  <webkit.review.bot@gmail.com>
40207
40208        Unreviewed, rolling out r74162.
40209        http://trac.webkit.org/changeset/74162
40210        https://bugs.webkit.org/show_bug.cgi?id=51185
40211
40212        More breakage in GTK+ (Requested by xan_ on #webkit).
40213
40214        * platform/text/TextCodecUTF16.cpp:
40215        (WebCore::TextCodecUTF16::registerEncodingNames):
40216
402172010-12-16  Alexander Pavlov  <apavlov@chromium.org>
40218
40219        Reviewed by Pavel Feldman.
40220
40221        Web Inspector: Up/Down/PageUp/PageDown on a CSS property numeric value commit the value editor
40222        https://bugs.webkit.org/show_bug.cgi?id=51114
40223
40224        The r74038 regressed the behaviour. This patch additionally ensures that both Metrics and Styles panes
40225        are updated once a stylesheet is reverted.
40226
40227        * inspector/front-end/ElementsPanel.js:
40228        (WebInspector.ElementsPanel.prototype._stylesPaneEdited):
40229        (WebInspector.ElementsPanel.prototype._metricsPaneEdited):
40230        (WebInspector.ElementsPanel.prototype._styleSheetChanged):
40231
402322010-12-16  Yury Semikhatsky  <yurys@chromium.org>
40233
40234        Unreviewed. Fix Chromium Mac Debug Clang compilation.
40235
40236        * platform/graphics/FontFastPath.cpp:
40237        (WebCore::Font::getGlyphsAndAdvancesForSimpleText):
40238
402392010-12-16  Alejandro G. Castro  <alex@igalia.com>
40240
40241        Unreviewed. Fix GTK3 compilation after 74129.
40242
40243        * platform/gtk/WidgetRenderingContextGtk3.cpp:
40244
402452010-12-16  Yury Semikhatsky  <yurys@chromium.org>
40246
40247        Unreviewed. Fix Chromium Debug compilation after r74177 
40248
40249        * platform/graphics/filters/FEComposite.cpp:
40250        (WebCore::arithmetic):
40251
402522010-12-16  Kent Tamura  <tkent@chromium.org>
40253
40254        Unreviewed, build fix.
40255
40256        Fix a warning on 32-bit Mac.
40257
40258        * platform/graphics/mac/SimpleFontDataMac.mm:
40259        (WebCore::SimpleFontData::emphasisMarkFontData): 0.5 -> 0.5f
40260
402612010-12-16  Zoltan Herczeg  <zherczeg@webkit.org>
40262
40263        Reviewed by Dirk Schulze.
40264
40265        Improve feArithmeticFilter
40266        https://bugs.webkit.org/show_bug.cgi?id=51105
40267
40268        In case of the arithmetic operator on feComposite filter, we could use
40269        different result passing modes depend on its type. Furthermore, the
40270        number of executed multiplications is reduced if k1 or k4 argument is zero.
40271
40272        2% speedup on WebCore/manual-tests/svg-filter-animation.svg
40273
40274        * platform/graphics/filters/FEComposite.cpp:
40275        (WebCore::computeArithmeticPixels):
40276        (WebCore::arithmetic):
40277        (WebCore::FEComposite::apply):
40278
402792010-12-15  Brian Weinstein  <bweinstein@apple.com>
40280
40281        Reviewed by Jon Honeycutt.
40282
40283        WebKit2 should exit auto scrolling mode when losing focus
40284        https://bugs.webkit.org/show_bug.cgi?id=49209
40285        
40286        When a page loses focus, make sure that we stop the autoscroll timer, which exits pan scrolling mode. We
40287        don't want to automatically scroll when a page doesn't have focus.
40288
40289        Updated manual-tests/autoscroll.html with instructions to test this bug.
40290
40291        * manual-tests/autoscroll.html:
40292        * page/FocusController.cpp:
40293        (WebCore::FocusController::setFocused):
40294
402952010-12-15  Dan Bernstein  <mitz@apple.com>
40296
40297        Reviewed by Darin Adler.
40298
40299        Font support for the text-emphasis CSS property
40300        Part of <rdar://problem/7720300> Support the CSS3 text-emphasis property
40301        https://bugs.webkit.org/show_bug.cgi?id=48539
40302
40303        * platform/graphics/Font.cpp:
40304        (WebCore::Font::drawEmphasisMarks): Added. Calls through to drawEmphasisMarksFor{Simple,Complex}Text.
40305        (WebCore::Font::canReceiveTextEmphasis): Added. For simple text, checks if the character should
40306        have an emphasis mark.
40307
40308        * platform/graphics/Font.h:
40309
40310        * platform/graphics/FontFastPath.cpp:
40311        (WebCore::Font::glyphDataForCharacter): Replaced the forceSmallCaps boolean with a FontDataVariant
40312        parameter and made this function work with other variants.
40313        (WebCore::Font::getEmphasisMarkGlyphData): Added. Returns glyph data for the first character of
40314        the emphasis mark. This function may not work if the emphasis mark uses a complex script, but none
40315        of the standard emphasis marks do so.
40316        (WebCore::Font::emphasisMarkAscent): Added.
40317        (WebCore::Font::emphasisMarkDescent): Added.
40318        (WebCore::Font::emphasisMarkHeight): Added.
40319        (WebCore::Font::getGlyphsAndAdvancesForSimpleText): Moved much of the logic from drawSimpleText()
40320        into this new function, which also has a ForTextEmphasis parameter, which is passed along to the
40321        WidthIterator.
40322        (WebCore::Font::drawSimpleText): Left the drawing part here.
40323        (WebCore::Font::drawEmphasisMarksForSimpleText): Added.
40324        (WebCore::Font::drawGlyphBuffer): Removed the unused TextRun parameter.
40325        (WebCore::offsetToMiddleOfGlyph): Added this helper.
40326        (WebCore::offsetToMiddleOfGlyphAtIndex): Added this other helper.
40327        (WebCore::Font::drawEmphasisMarks): Added. Draws emphasis marks for a given glyph buffer by placing
40328        one mark centered above each glyph. Zero glyphs in the buffer indicate that no mark should be drawn.
40329
40330        * platform/graphics/GraphicsContext.cpp:
40331        (WebCore::GraphicsContext::drawEmphasisMarks): Added. Calls through to Font::drawEmphasisMarks().
40332
40333        * platform/graphics/GraphicsContext.h:
40334
40335        * platform/graphics/SimpleFontData.cpp:
40336        (WebCore::SimpleFontData::SimpleFontData): Removed initialization of deleted members.
40337        (WebCore::SimpleFontData::~SimpleFontData): Removed derived font data cleanup, which now happens
40338        in ~DerivedFontData.
40339        (WebCore::SimpleFontData::brokenIdeographFontData): Changed to use m_derivedFontData.
40340        (WebCore::SimpleFontData::DerivedFontData::DerivedFontData): Added. This lazily-allocated struct
40341        contains the SimpleFontData for small caps, broken ideograph and emphasis mark.
40342        (WebCore::SimpleFontData::DerivedFontData::~DerivedFontData): Added.
40343
40344        * platform/graphics/SimpleFontData.h:
40345        (WebCore::SimpleFontData::variantFontData): Added. This is used by Font::glyphDataForCharacter().
40346
40347        * platform/graphics/WidthIterator.cpp:
40348        (WebCore::WidthIterator::WidthIterator): Added forTextEmphasis parameter.
40349        (WebCore::WidthIterator::advance): When used for text emphasis, replace glyphs with the zero glyph
40350        if they should not receive an emphasis mark.
40351
40352        * platform/graphics/WidthIterator.h:
40353
40354        * platform/graphics/chromium/FontChromiumWin.cpp:
40355        (WebCore::Font::drawEmphasisMarksForComplexText): Added stub.
40356
40357        * platform/graphics/chromium/FontLinux.cpp:
40358        (WebCore::TextRunWalker::nextScriptRun): Updated for change to Font::glyphDataForCharacter().
40359        (WebCore::TextRunWalker::setupFontForScriptRun): Ditto.
40360        (WebCore::Font::drawEmphasisMarksForComplexText): Added stub.
40361
40362        * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:
40363        (WebCore::SimpleFontData::scaledFontData): Moved code from smallCapsFontData() here and generalized.
40364        (WebCore::SimpleFontData::smallCapsFontData): Adopted m_derivedFontData and scaledFontData().
40365        (WebCore::SimpleFontData::emphasisMarkFontData): Added.
40366
40367        * platform/graphics/chromium/SimpleFontDataLinux.cpp:
40368        (WebCore::SimpleFontData::scaledFontData): Moved code from smallCapsFontData() here and generalized.
40369        (WebCore::SimpleFontData::smallCapsFontData): Adopted m_derivedFontData and scaledFontData().
40370        (WebCore::SimpleFontData::emphasisMarkFontData): Added.
40371
40372        * platform/graphics/efl/FontEfl.cpp:
40373        (WebCore::Font::drawEmphasisMarksForComplexText): Added stub.
40374
40375        * platform/graphics/freetype/SimpleFontDataFreeType.cpp:
40376        (WebCore::SimpleFontData::scaledFontData): Moved code from smallCapsFontData() here and generalized.
40377        (WebCore::SimpleFontData::smallCapsFontData): Adopted m_derivedFontData and scaledFontData().
40378        (WebCore::SimpleFontData::emphasisMarkFontData): Added.
40379
40380        * platform/graphics/gtk/FontGtk.cpp:
40381        (WebCore::Font::drawEmphasisMarksForComplexText): Added stub.
40382
40383        * platform/graphics/haiku/FontHaiku.cpp:
40384        (WebCore::Font::drawEmphasisMarksForComplexText): Added stub.
40385
40386        * platform/graphics/haiku/SimpleFontDataHaiku.cpp:
40387        (WebCore::SimpleFontData::scaledFontData): Moved code from smallCapsFontData() here and generalized.
40388        (WebCore::SimpleFontData::smallCapsFontData): Adopted m_derivedFontData and scaledFontData().
40389        (WebCore::SimpleFontData::emphasisMarkFontData): Added.
40390
40391        * platform/graphics/mac/ComplexTextController.cpp:
40392        (WebCore::ComplexTextController::ComplexTextController): Added forTextEmphasis parameter.
40393        (WebCore::ComplexTextController::collectComplexTextRuns): Updated for change to Font::glyphDataForCharacter().
40394        (WebCore::ComplexTextController::adjustGlyphsAndAdvances): When used for text emphasis, replace glyphs with the zero glyph
40395        if they should not receive an emphasis mark.
40396
40397        * platform/graphics/mac/ComplexTextController.h:
40398
40399        * platform/graphics/mac/FontComplexTextMac.cpp:
40400        (WebCore::Font::getGlyphsAndAdvancesForComplexText): Moved much of the logic from drawComplexText()
40401        into this new function, which also has a ForTextEmphasis parameter, which is passed along to the
40402        ComplexTextController.
40403        (WebCore::Font::drawComplexText): Left the drawing part here.
40404        (WebCore::Font::drawEmphasisMarksForComplexText): Added.
40405
40406        * platform/graphics/mac/SimpleFontDataMac.mm:
40407        (WebCore::SimpleFontData::platformDestroy): Adopted m_derivedFontData.
40408        (WebCore::SimpleFontData::scaledFontData): Moved code from smallCapsFontData() here and generalized.
40409        (WebCore::SimpleFontData::smallCapsFontData): Adopted m_derivedFontData and scaledFontData().
40410        (WebCore::SimpleFontData::emphasisMarkFontData): Added.
40411
40412        * platform/graphics/pango/SimpleFontDataPango.cpp:
40413        (WebCore::SimpleFontData::platformDestroy): Removed redundant clearing of derived font.
40414        (WebCore::SimpleFontData::scaledFontData): Moved code from smallCapsFontData() here and generalized.
40415        (WebCore::SimpleFontData::smallCapsFontData): Adopted m_derivedFontData and scaledFontData().
40416        (WebCore::SimpleFontData::emphasisMarkFontData): Added.
40417
40418        * platform/graphics/qt/FontQt.cpp:
40419        (WebCore::Font::emphasisMarkAscent): Added stub.
40420        (WebCore::Font::emphasisMarkDescent): Ditto.
40421        (WebCore::Font::emphasisMarkHeight): Ditto.
40422        (WebCore::Font::drawEmphasisMarksForSimpleText): Ditto.
40423        (WebCore::Font::drawEmphasisMarksForComplexText): Ditto.
40424
40425        * platform/graphics/win/FontWin.cpp:
40426        (WebCore::Font::getGlyphsAndAdvancesForComplexText): Moved much of the logic from drawComplexText()
40427        into this new function, which also has a ForTextEmphasis parameter. Currently returns an empty
40428        glyph buffer for text emphasis.
40429        (WebCore::Font::drawComplexText): Left the drawing part here.
40430        (WebCore::Font::drawEmphasisMarksForComplexText): Added.
40431
40432        * platform/graphics/win/SimpleFontDataWin.cpp:
40433        (WebCore::SimpleFontData::scaledFontData): Moved code from smallCapsFontData() here and generalized.
40434        (WebCore::SimpleFontData::smallCapsFontData): Adopted m_derivedFontData and scaledFontData().
40435        (WebCore::SimpleFontData::emphasisMarkFontData): Added.
40436
40437        * platform/graphics/win/UniscribeController.cpp:
40438        (WebCore::UniscribeController::advance): Updated for change to Font::glyphDataForCharacter().
40439
40440        * platform/graphics/wince/FontWinCE.cpp:
40441        (WebCore::Font::drawEmphasisMarksForComplexText): Added stub.
40442
40443        * platform/graphics/wince/SimpleFontDataWinCE.cpp:
40444        (WebCore::SimpleFontData::platformDestroy): Removed redundant clearing of derived font.
40445        (WebCore::SimpleFontData::scaledFontData): Moved code from smallCapsFontData() here and generalized.
40446        (WebCore::SimpleFontData::smallCapsFontData): Adopted m_derivedFontData and scaledFontData().
40447        (WebCore::SimpleFontData::emphasisMarkFontData): Added.
40448
40449        * platform/graphics/wx/FontWx.cpp:
40450        (WebCore::Font::getGlyphsAndAdvancesForComplexText): Added stub.
40451        (WebCore::Font::drawComplexText): Updated for removal of unused TextRun parameter to drawGlyphBuffer().
40452        (WebCore::Font::drawEmphasisMarksForComplexText): Added.
40453
40454        * platform/graphics/wx/SimpleFontDataWx.cpp:
40455        (WebCore::SimpleFontData::scaledFontData): Moved code from smallCapsFontData() here and generalized.
40456        (WebCore::SimpleFontData::smallCapsFontData): Adopted m_derivedFontData and scaledFontData().
40457        (WebCore::SimpleFontData::emphasisMarkFontData): Added.
40458
40459        * platform/text/CharacterNames.h: Added characters used in Font::canReceiveTextEmphasis().
40460
404612010-12-15  Beth Dakin  <bdakin@apple.com>
40462
40463        Reviewed by Darin Adler.
40464
40465        Fix for https://bugs.webkit.org/show_bug.cgi?id=51150 WebView's 
40466        _scaleWebView SPI doesn't work on pages with compositing layers
40467        -and corresponding-
40468        <rdar://problem/8604713>
40469
40470        paintingGoesToWindow() should return false if the owning layer has 
40471        a transform.
40472        * rendering/RenderLayerBacking.cpp:
40473        (WebCore::RenderLayerBacking::paintingGoesToWindow):
40474
40475        Use docWidth() and docHeight() instead of rightLayoutOverflow() and 
40476        bottomLayoutOverflow() since docWidth/Height are now the preferred 
40477        way to query physical dimensions of the document.
40478        * rendering/RenderLayerCompositor.cpp:
40479        (WebCore::RenderLayerCompositor::updateRootLayerPosition):
40480
404812010-12-15  Alex Bredariol Grilo  <abgrilo@profusion.mobi>
40482
40483        Reviewed by Eric Seidel.
40484
40485        [EFL] Fix timer calling time in SharedTimerEfl
40486
40487        No new features, so no tests added.
40488
40489        The usage of ecore_timer_loop_add instead of ecore_timer_add corrects
40490        the problem that the timer is not called at the correct time. Since this
40491        code runs in a single thread, all multiple thread operations were
40492        removed.
40493
40494        * platform/efl/SharedTimerEfl.cpp:
40495        (WebCore::stopSharedTimer):
40496        (WebCore::addNewTimer):
40497
404982010-12-15  Andreas Kling  <andreas.kling@nokia.com>
40499
40500        Reviewed by Ariya Hidayat.
40501
40502        [Qt] StillImage::draw() shouldn't call setCompositionMode() unless the QPaintEngine has Porter-Duff composition
40503        https://bugs.webkit.org/show_bug.cgi?id=49918
40504
40505        Go through GraphicsContext::setCompositeOperation() which does the check for us.
40506
40507        * platform/graphics/qt/StillImageQt.cpp:
40508        (WebCore::StillImage::draw):
40509
405102010-12-15  Yong Li  <yoli@rim.com>
40511
40512        Reviewed by Darin Adler.
40513
40514        UTF-16 and its variants should be treated as Big Endian when BOM
40515        is absent.
40516        https://bugs.webkit.org/show_bug.cgi?id=51035
40517
40518        Test: fast/encoding/char-decoding.html (changed)
40519
40520        * platform/text/TextCodecUTF16.cpp:
40521        (WebCore::TextCodecUTF16::registerEncodingNames):
40522
405232010-12-15  Simon Fraser  <simon.fraser@apple.com>
40524
40525        Reviewed by Chris Marrin.
40526
40527        Percentage Z values in 3d transform functions and transform-origin should cause the property to be invalid
40528        https://bugs.webkit.org/show_bug.cgi?id=51070
40529        
40530        Treat as inavlid -webkit-transform values that include a percentage value in translateZ()
40531        or in the third parameter to translate3d().
40532
40533        Test: transforms/3d/general/3dtransform-values.html
40534
40535        * css/CSSParser.cpp:
40536        (WebCore::CSSParser::parseTransform):
40537        (WebCore::CSSParser::parseTransformOrigin): Whitespace change.
40538
405392010-12-15  Simon Fraser  <simon.fraser@apple.com>
40540
40541        Reviewed by Chris Marrin.
40542
40543        Reflection does not render properly when -webkit-transform is toggled, untoggled, and retoggled
40544        https://bugs.webkit.org/show_bug.cgi?id=50967
40545        
40546        If a reflection on a compositied, transformed element is toggled on, off and on,
40547        then we pick up a cached layer clone that has the wrong transform set on it.
40548        
40549        The fix is to reset those properties on the layer clones that get changed
40550        when the GraphicsLayer gains a structural layer (for reflection flattening).
40551
40552        Test: compositing/reflections/remove-add-reflection.html
40553
40554        * platform/graphics/ca/GraphicsLayerCA.cpp:
40555        (WebCore::GraphicsLayerCA::ensureStructuralLayer):
40556
405572010-12-15  Timothy Hatcher  <timothy@apple.com>
40558
40559        Fix a regression where the Web Inspector console would be empty
40560        if the Inspector is localized.
40561
40562        https://bugs.webkit.org/show_bug.cgi?id=51145
40563
40564        Reviewed by Joseph Pecoraro.
40565
40566        * inspector/front-end/ConsoleView.js:
40567        (WebInspector.ConsoleView.createFilterElement): Add a label argument so the UI string
40568        is separate from the classname. Code clean up.
40569        (WebInspector.ConsoleView.prototype.filter): Remove toLowerCase and use string compare.
40570        (WebInspector.ConsoleView): Pass separate classnames and labels to createFilterElement.
40571
405722010-12-15  Simon Fraser  <simon.fraser@apple.com>
40573
40574        Reviewed by Adele Peterson.
40575
40576        WebKit2 in compositing mode no longer has font smoothing
40577        https://bugs.webkit.org/show_bug.cgi?id=50733
40578
40579        Only turn off font smoothing for layers whose contents are
40580        not opaque. This allows the root GraphicsLayer in WebKit2 to
40581        set the opaque flag, and get smoothed text.
40582
40583        * platform/graphics/mac/WebLayer.mm:
40584        (drawLayerContents):
40585
405862010-12-15  Simon Fraser  <simon.fraser@apple.com>
40587
40588        Reviewed by Dan Bernstein.
40589
40590        Allow disabling of font smoothing in compositing layers to be overridden by style
40591        https://bugs.webkit.org/show_bug.cgi?id=50732
40592
40593        Add methods to GraphicsContext to get and set font smoothing,
40594        and have them be part of the graphics state.
40595        
40596        Fix Font::drawGlyphs() to allow the font's smoothing mode (from style)
40597        to override the current smoothing mode of the context. The global
40598        shouldUseSmoothing() still has final say.
40599        
40600        Turn off smoothing in compositing layers with this, rather than
40601        the non-stateful 'allow' method.
40602        
40603        * manual-tests/compositing/font-smoothing.html: Added.
40604        Manual test because DRT disables font smoothing.
40605        
40606        * platform/graphics/GraphicsContext.cpp:
40607        (WebCore::GraphicsContext::setShouldSmoothFonts):
40608        (WebCore::GraphicsContext::shouldSmoothFonts):
40609        (WebCore::GraphicsContext::setPlatformShouldSmoothFonts):
40610        * platform/graphics/GraphicsContext.h:
40611        (WebCore::GraphicsContextState::GraphicsContextState):
40612        * platform/graphics/cg/GraphicsContextCG.cpp:
40613        (WebCore::GraphicsContext::setPlatformShouldSmoothFonts):
40614        * platform/graphics/mac/FontMac.mm:
40615        (WebCore::Font::drawGlyphs):
40616        * platform/graphics/mac/WebLayer.mm:
40617        (drawLayerContents):
40618
406192010-12-15  Matthew Delaney  <mdelaney@apple.com>
40620
40621        Reviewed by Simon Fraser.
40622
40623        IOSurface bounds checks on bytesPerRow and allocSize are incorrect
40624        https://bugs.webkit.org/show_bug.cgi?id=51137
40625
40626        No new tests added. For those using this new functionality, many current canvas layout tests will now pass.
40627
40628        * platform/graphics/cg/ImageBufferCG.cpp:
40629
406302010-12-15  Kenneth Russell  <kbr@google.com>
40631
40632        Reviewed by James Robinson.
40633
40634        Web Audio API: port FFTFrame to MKL
40635        https://bugs.webkit.org/show_bug.cgi?id=50986
40636
40637        Ported FFTFrame to Intel's MKL. This patch contains the port and
40638        initial, though not complete, build system changes. Tested so far
40639        with a unit test by Chris Rogers (which requires code changes to
40640        AudioContext.cpp and is not being checked in). Further testing to
40641        follow once layout tests are available for the Web Audio API.
40642
40643        * WebCore.gyp/WebCore.gyp:
40644        * WebCore.gypi:
40645        * platform/audio/FFTFrame.h:
40646        * platform/audio/mkl: Added.
40647        * platform/audio/mkl/FFTFrameMKL.cpp: Added.
40648        (WebCore::FFTFrame::FFTFrame):
40649        (WebCore::FFTFrame::~FFTFrame):
40650        (WebCore::FFTFrame::multiply):
40651        (WebCore::FFTFrame::doFFT):
40652        (WebCore::FFTFrame::doInverseFFT):
40653        (WebCore::FFTFrame::cleanup):
40654        (WebCore::FFTFrame::realData):
40655        (WebCore::FFTFrame::imagData):
40656        (WebCore::FFTFrame::getUpToDateComplexData):
40657        (WebCore::FFTFrame::descriptorHandleForSize):
40658
406592010-12-15  Yong Li  <yoli@rim.com>
40660
40661        Reviewed by Darin Adler.
40662
40663        Fix stack overflow when there are too many sibling inline boxes by using
40664        a loop to traverse children instead of calling each sibling from the first child.
40665        https://bugs.webkit.org/show_bug.cgi?id=48255
40666
40667        Test: fast/overflow/lots-of-sibling-inline-boxes.html
40668
40669        * rendering/InlineBox.h:
40670        (WebCore::InlineBox::setConstructed):
40671        (WebCore::InlineBox::next):
40672        * rendering/InlineFlowBox.h:
40673        (WebCore::InlineFlowBox::setConstructed):
40674
406752010-12-15  Sam Weinig  <sam@webkit.org>
40676
40677        Reviewed by Anders Carlsson.
40678
40679        WebKit2: Can't add files to an <input type=file>
40680        https://bugs.webkit.org/show_bug.cgi?id=51087
40681
40682        Add exported function.
40683
40684        * WebCore.exp.in:
40685
406862010-12-15  Andreas Kling  <andreas.kling@nokia.com>
40687
40688        Reviewed by Antonio Gomes.
40689
40690        [Qt] screenIsMonochrome() is broken
40691        https://bugs.webkit.org/show_bug.cgi?id=49957
40692
40693        * platform/qt/PlatformScreenQt.cpp:
40694        (WebCore::screenIsMonochrome):
40695
406962010-12-15  Martin Robinson  <mrobinson@igalia.com>
40697
40698        Reviewed by Gustavo Noronha Silva.
40699
40700        [GTK] Move button rendering from gtk{2,3}drawing.cpp to RenderThemeGtk
40701        https://bugs.webkit.org/show_bug.cgi?id=48486
40702
40703        Implement button rendering in RenderThemeGtk. The implementation
40704        from gtk{2,3}drawing.cpp will be removed once menu list button rendering
40705        is implemented in RenderThemeGtk as well.
40706
40707        No new tests, as this should not change functionality.
40708
40709        * platform/gtk/RenderThemeGtk.cpp:
40710        (WebCore::RenderThemeGtk::paintButton): Add an implementation of button
40711        rendering that uses WidgetRenderingContext.
40712
407132010-10-18  Martin Robinson  <mrobinson@igalia.com>
40714
40715        Reviewed by Gustavo Noronha Silva.
40716
40717        [GTK] Move input type=range rendering to RenderThemeGtk
40718        https://bugs.webkit.org/show_bug.cgi?id=47836
40719
40720        Begin moving widget rendering out of the old Mozilla theme drawing code,
40721        which should remove many lines of code when completed. WidgetRenderingContext
40722        now hides the GTK+ 2 vs. 3 API differences, so that RenderThemeGtk can stay
40723        version agnostic.
40724
40725        No new tests as this patch does not change functionality.
40726
40727        * platform/gtk/RenderThemeGtk.cpp:
40728        (WebCore::RenderThemeGtk::RenderThemeGtk): gtkContainer() now returns a
40729        GtkWidget, so update the cast here.
40730        (WebCore::RenderThemeGtk::getGtkStateType): Added this helper which
40731        converts a RenderObject state into a GtkStateType.
40732        (WebCore::RenderThemeGtk::paintRenderObject): Removed work-arounds for
40733        scale painting, as it's not handled by this method any longer.
40734        (WebCore::RenderThemeGtk::paintSliderTrack): Updated to use
40735        WidgetRenderingContext.
40736        (WebCore::RenderThemeGtk::paintSliderThumb): Ditto.
40737        (WebCore::RenderThemeGtk::adjustSliderThumbSize): Get the size
40738        properties directly from the widget now instead of asking the Mozilla code.
40739        (WebCore::RenderThemeGtk::setupWidgetAndAddToContainer): Added this
40740        helper which reduces the amount of code quite a bit.
40741        (WebCore::RenderThemeGtk::gtkContainer): Updated to use helper.
40742        (WebCore::RenderThemeGtk::gtkButton): Ditto.
40743        (WebCore::RenderThemeGtk::gtkEntry): Ditto.
40744        (WebCore::RenderThemeGtk::gtkTreeView): Ditto.
40745        (WebCore::RenderThemeGtk::gtkVScale): Added.
40746        (WebCore::RenderThemeGtk::gtkHScale): Added.
40747        (WebCore::RenderThemeGtk::platformColorsDidChange): Removed
40748        GTK_CONTAINER cast.
40749        * platform/gtk/RenderThemeGtk.h: Updated to add new GtkHScale and
40750         GtkVScale members.
40751        * platform/gtk/WidgetRenderingContext.h: Aded new methods to proxy
40752        gtk_paint_box, gtk_paint_focus and gtk_paint_slider.
40753        * platform/gtk/WidgetRenderingContextGtk2.cpp:
40754        (WebCore::WidgetRenderingContext::gtkPaintBox): Added.
40755        (WebCore::WidgetRenderingContext::gtkPaintFocus): Ditto.
40756        (WebCore::WidgetRenderingContext::gtkPaintSlider): Ditto.
40757        * platform/gtk/WidgetRenderingContextGtk3.cpp:
40758        (WebCore::WidgetRenderingContext::gtkPaintBox): Ditto.
40759        (WebCore::WidgetRenderingContext::gtkPaintFocus): Ditto.
40760        (WebCore::WidgetRenderingContext::gtkPaintSlider): Ditto.
40761        * platform/gtk/gtk2drawing.c: Removed defunct code!
40762        (moz_gtk_get_widget_border):
40763        (moz_gtk_widget_paint):
40764        * platform/gtk/gtk3drawing.c: Ditto.
40765        (moz_gtk_get_widget_border):
40766        (moz_gtk_widget_paint):
40767        * platform/gtk/gtkdrawing.h:
40768
407692010-12-15  Sheriff Bot  <webkit.review.bot@gmail.com>
40770
40771        Unreviewed, rolling out r74117.
40772        http://trac.webkit.org/changeset/74117
40773        https://bugs.webkit.org/show_bug.cgi?id=51113
40774
40775        This broke the GTK1 build. (Requested by mrobinson on
40776        #webkit).
40777
40778        * GNUmakefile.am:
40779        * platform/network/soup/cache/webkit/soup-cache.h:
40780
407812010-12-15  Jian Li  <jianli@chromium.org>
40782
40783        Unreviewed. Fixed a clang compiling error by making the forward
40784        declaration of MediaPlayerFactory be consistent with the definition.
40785
40786        * platform/graphics/MediaPlayer.h:
40787
407882010-12-15  David Hyatt  <hyatt@apple.com>
40789
40790        Reviewed by Simon Fraser.
40791
40792        Rename pageY to pageLogicalOffset, since for vertical writing modes it is an x-position rather than a
40793        y-position.
40794
40795        * rendering/LayoutState.cpp:
40796        (WebCore::LayoutState::pageLogicalOffset):
40797        (WebCore::LayoutState::addForcedColumnBreak):
40798        * rendering/LayoutState.h:
40799        * rendering/RenderBlock.cpp:
40800        (WebCore::RenderBlock::layoutBlock):
40801        (WebCore::RenderBlock::markForPaginationRelayoutIfNeeded):
40802        (WebCore::RenderBlock::layoutColumns):
40803        (WebCore::RenderBlock::setPageLogicalOffset):
40804        * rendering/RenderBlock.h:
40805        (WebCore::RenderBlock::pageLogicalOffset):
40806        (WebCore::RenderBlock::RenderBlockRareData::RenderBlockRareData):
40807        * rendering/RenderFlexibleBox.cpp:
40808        (WebCore::RenderFlexibleBox::layoutBlock):
40809        * rendering/RenderTable.cpp:
40810        (WebCore::RenderTable::layout):
40811        * rendering/RenderTableRow.cpp:
40812        (WebCore::RenderTableRow::layout):
40813        * rendering/RenderTableSection.cpp:
40814        (WebCore::RenderTableSection::layoutRows):
40815
408162010-12-13  Pavel Podivilov  <podivilov@chromium.org>
40817
40818        Reviewed by Pavel Feldman.
40819
40820        Web Inspector: move scripts storage from ScriptsPanel to DebuggerModel.
40821        https://bugs.webkit.org/show_bug.cgi?id=50908
40822
40823        * inspector/front-end/BreakpointManager.js:
40824        (WebInspector.BreakpointManager):
40825        (WebInspector.BreakpointManager.prototype._debuggerPaused):
40826        * inspector/front-end/CallStackSidebarPane.js:
40827        (WebInspector.CallStackSidebarPane):
40828        (WebInspector.CallStackSidebarPane.prototype.update):
40829        * inspector/front-end/DebuggerModel.js:
40830        (WebInspector.DebuggerModel):
40831        (WebInspector.DebuggerModel.prototype.setBreakpoint):
40832        (WebInspector.DebuggerModel.prototype._setBreakpoint):
40833        (WebInspector.DebuggerModel.prototype.scriptForSourceID):
40834        (WebInspector.DebuggerModel.prototype.scriptsForURL):
40835        (WebInspector.DebuggerModel.prototype.queryScripts):
40836        (WebInspector.DebuggerModel.prototype.parsedScriptSource):
40837        (WebInspector.DebuggerModel.prototype.failedToParseScriptSource):
40838        (WebInspector.DebuggerModel.prototype.breakpointRestored):
40839        (WebInspector.DebuggerModel.prototype.debuggerPaused):
40840        (WebInspector.DebuggerModel.prototype.debuggerResumed):
40841        * inspector/front-end/Resource.js:
40842        * inspector/front-end/ScriptsPanel.js:
40843        (WebInspector.ScriptsPanel): eliminate sourceIDMap
40844        * inspector/front-end/SourceFrame.js:
40845        (WebInspector.SourceFrame.prototype._createViewerIfNeeded):
40846        (WebInspector.SourceFrame.prototype._setBreakpoint):
40847        * inspector/front-end/SourceView.js:
40848        (WebInspector.SourceView):
40849        * inspector/front-end/inspector.js:
40850        (WebInspector.createJSBreakpointsSidebarPane):
40851        (WebInspector.parsedScriptSource):
40852        (WebInspector.failedToParseScriptSource):
40853
408542010-12-15  Eric Carlson  <eric.carlson@apple.com>
40855
40856        Reviewed by Darin Adler.
40857
40858        MediaPlayer should try all installed media engines
40859        https://bugs.webkit.org/show_bug.cgi?id=50209
40860
40861        * platform/graphics/MediaPlayer.cpp:
40862        (WebCore::bestMediaEngineForTypeAndCodecs): Rename from chooseBestEngineForTypeAndCodecs. Take optional
40863        parameter for current engine. 
40864        (WebCore::nextMediaEngine): New, return the next media engine in the list.
40865        (WebCore::MediaPlayer::MediaPlayer): Initialize reload timer.
40866        (WebCore::MediaPlayer::load): Store url, mime type, and codecs parameter in member variables.
40867        (WebCore::MediaPlayer::loadWithNextMediaEngine): New, initiate loading with the next media engine.
40868        (WebCore::MediaPlayer::supportsType): Make contentType parameter const.
40869        (WebCore::MediaPlayer::reloadTimerFired): New, call loadWithNextMediaEngine.
40870        (WebCore::MediaPlayer::networkStateChanged): If network state signals a failure and the file's
40871        metadata has not loaded, give the next installed engine a try.
40872        * platform/graphics/MediaPlayer.h:
40873
408742010-12-15  Amruth Raj  <amruthraj@motorola.com> and Ravi Kasibhatla  <ravi.kasibhatla@motorola.com>
40875
40876        Reviewed by Martin Robinson.
40877
40878        Changes to enable building WebKit2 for Gtk port
40879        (https://bugs.webkit.org/show_bug.cgi?id=37369)
40880
40881        No new functionality added or deleted. Only makefile change. Hence, no tests added.
40882
40883        * GNUmakefile.am: Removed bindings/gobject from webcore_sources & webcore_cppflags and added them to WebKit/gtk/GNUmakefile.am
40884        * platform/network/soup/cache/webkit/soup-cache.h: Remove include <webkit/webkitdefines.h> and declare WEBKIT_API directly
40885
408862010-12-15  Jarred Nicholls  <jarred@sencha.com>
40887
40888        Reviewed by Andreas Kling.
40889
40890        [Qt] Implement the File API spec
40891        https://bugs.webkit.org/show_bug.cgi?id=49839
40892
40893        No new tests. fast/files tests work when manually operated.
40894        They do not automatically work due to Qt's inability to handle multi-file
40895        inputs (https://bugs.webkit.org/show_bug.cgi?id=22048) as well as Qt's DRT
40896        is missing an eventSender.beginDragWithFiles implementation.
40897
40898        * WebCore.pri:
40899        * WebCore.pro:
40900        * features.pri:
40901        * platform/qt/FileSystemQt.cpp:
40902        (WebCore::directoryName):
40903        (WebCore::readFromFile):
40904        (WebCore::seekFile):
40905
409062010-12-14  Antti Koivisto  <antti@apple.com>
40907
40908        Reviewed by Alexey Proskuryakov.
40909
40910        https://bugs.webkit.org/show_bug.cgi?id=49548
40911        WebCore cache stores duplicate copies of subresources with URL fragments
40912        
40913        - Strip fragment identifiers from HTTP and file URLs for the memory cache.
40914        - Changed some CachedResourceLoader and MemoryCache interfaces to use KURLs
40915          instead of strings to reduce repeated URL parsing.
40916
40917        Test: http/tests/cache/subresource-fragment-identifier.html
40918
40919        * inspector/InspectorResourceAgent.cpp:
40920        (WebCore::InspectorResourceAgent::cachedResource):
40921        * loader/FrameLoader.cpp:
40922        (WebCore::FrameLoader::tellClientAboutPastMemoryCacheLoads):
40923        * loader/cache/CachedResource.cpp:
40924        (WebCore::CachedResource::~CachedResource):
40925        * loader/cache/CachedResourceLoader.cpp:
40926        (WebCore::CachedResourceLoader::cachedResource):
40927        (WebCore::CachedResourceLoader::checkForReload):
40928        (WebCore::CachedResourceLoader::requestUserCSSStyleSheet):
40929        (WebCore::CachedResourceLoader::requestResource):
40930        * loader/cache/CachedResourceLoader.h:
40931        * loader/cache/MemoryCache.cpp:
40932        (WebCore::MemoryCache::requestResource):
40933        (WebCore::MemoryCache::requestUserCSSStyleSheet):
40934        (WebCore::MemoryCache::removeFragmentIdentifierIfNeeded):
40935        (WebCore::MemoryCache::resourceForURL):
40936        * loader/cache/MemoryCache.h:
40937
409382010-12-15  Anton Muhin  <antonm@chromium.org>
40939
40940        Reviewed by David Levin.
40941
40942        [v8] Next round of CSS GC story: proper grouping of CSSStyleDeclarations
40943        https://bugs.webkit.org/show_bug.cgi?id=50965
40944
40945        * bindings/v8/V8GCController.cpp:
40946        (WebCore::DOMObjectGrouperVisitor::visitDOMWrapper):
40947        (WebCore::DOMObjectGrouperVisitor::addAllItems):
40948
409492010-12-13  Pavel Podivilov  <podivilov@chromium.org>
40950
40951        Reviewed by Yury Semikhatsky.
40952
40953        Web Inspector: push persistent breakpoints into backend state cookie so they hit on navigation.
40954        https://bugs.webkit.org/show_bug.cgi?id=48858
40955
40956        BreakpointManager pushes all persistent breakpoints to backend when loaded.
40957        InspectorController restores sticky breakpoints from cookie on navigation.
40958
40959        * inspector/Inspector.idl:
40960        * inspector/InspectorController.cpp:
40961        (WebCore::InspectorController::InspectorController):
40962        (WebCore::InspectorController::disconnectFrontend):
40963        (WebCore::InspectorController::didCommitLoad):
40964        (WebCore::InspectorController::setStickyBreakpoints):
40965        (WebCore::InspectorController::restoreStickyBreakpoints):
40966        (WebCore::InspectorController::restoreStickyBreakpoint):
40967        * inspector/InspectorController.h:
40968        * inspector/InspectorState.cpp:
40969        (WebCore::InspectorState::InspectorState):
40970        (WebCore::InspectorState::getObject):
40971        (WebCore::InspectorState::setObject):
40972        (WebCore::InspectorState::registerObject):
40973        * inspector/InspectorState.h:
40974        * inspector/front-end/BreakpointManager.js:
40975        (WebInspector.BreakpointManager):
40976        * inspector/front-end/BreakpointsSidebarPane.js:
40977        (WebInspector.BreakpointsSidebarPane):
40978        (WebInspector.BreakpointsSidebarPane.prototype._removeListElement):
40979        (WebInspector.BreakpointsSidebarPane.prototype._projectChanged):
40980        (WebInspector.EventListenerBreakpointsSidebarPane):
40981        (WebInspector.EventListenerBreakpointsSidebarPane.prototype._createCategory):
40982        (WebInspector.EventListenerBreakpointsSidebarPane.prototype._breakpointAdded):
40983        (WebInspector.EventListenerBreakpointsSidebarPane.prototype._projectChanged):
40984        * inspector/front-end/CallStackSidebarPane.js:
40985        (WebInspector.CallStackSidebarPane):
40986        * inspector/front-end/ElementsPanel.js:
40987        (WebInspector.ElementsPanel.prototype.reset):
40988        * inspector/front-end/ScriptsPanel.js:
40989        (WebInspector.ScriptsPanel.prototype.reset):
40990        * inspector/front-end/Settings.js:
40991        (WebInspector.Settings.prototype.inspectedURLChanged):
40992        (WebInspector.Settings.prototype.get projectId):
40993        (WebInspector.Settings.prototype.findSettingForAllProjects):
40994        (WebInspector.Settings.prototype._formatProjectKey):
40995        * inspector/front-end/inspector.js:
40996        (WebInspector.createDOMBreakpointsSidebarPane):
40997        (WebInspector.createXHRBreakpointsSidebarPane):
40998        (WebInspector.reset):
40999        (WebInspector.inspectedURLChanged):
41000
410012010-12-15  Mario Sanchez Prada  <msanchez@igalia.com>
41002
41003        Unreviewed, fix compilation warnings after r74066.
41004
41005        * rendering/RenderBox.cpp:
41006        (WebCore::layersUseImage): Place this static function between the
41007        same if-def region used in the only place where it's called from.
41008
410092010-12-15  Emil Eklund  <eae@chromium.org>
41010
41011        Reviewed by Adam Barth.
41012
41013        Change ContainerNode::willRemoveChildren to not fire mutation events for children
41014        added as a result of a mutation event, thereby avoiding an infinite loop.
41015        https://bugs.webkit.org/show_bug.cgi?id=51079
41016
41017        Test: fast/dom/containerNode.html
41018
41019        * dom/ContainerNode.cpp:
41020        (WebCore::willRemoveChildren): Don't fire mutation events for children added during a mutation event.
41021
410222010-12-14  Dan Bernstein  <mitz@apple.com>
41023
41024        Reviewed by Maciej Stachowiak.
41025
41026        <rdar://problem/8767193> REGRESSION (r60822): caps-lock-indicator is accepted as a -webkit-appearance value
41027        https://bugs.webkit.org/show_bug.cgi?id=51096
41028
41029        Test: fast/css/appearance-caps-lock-indicator.html
41030
41031        * css/CSSValueKeywords.in: Moved caps-lock-indicator outside the range of values that should be
41032        accepted by the parser, and added comments about maintaining the list of appearance values.
41033        * platform/ThemeTypes.h: Moved CapsLockIndicatorPart to the end of the ControlPart enum.
41034
410352010-12-14  takano takumi  <takano@apple.com>
41036
41037        Reviewed by Dan Bernstein.
41038
41039        text-combine value names have been changed in the css3 proposal.
41040        https://bugs.webkit.org/show_bug.cgi?id=51089
41041
41042        Changed text-combine's value names from "none|cluster|upright" to "none|horizontal".
41043
41044        * css/CSSParser.cpp: Changed value name.
41045        (WebCore::CSSParser::parseValue):
41046        * css/CSSPrimitiveValueMappings.h: Changed value name.
41047        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
41048        (WebCore::CSSPrimitiveValue::operator TextCombine):
41049        * css/CSSValueKeywords.in: No more text-combine specific values needed since
41050        "horizontal" is already there.
41051        * rendering/style/RenderStyleConstants.h: Changed value name.
41052        * rendering/style/StyleRareNonInheritedData.h: Changed textCombine field size.
41053
410542010-12-14  Koan-Sin Tan  <koansin.tan@gmail.com>
41055
41056        Reviewed by Alexey Proskuryakov.
41057
41058        Kana should be part of CJK Ideographs in WebCore/platform/graphics/Font.cpp
41059        https://bugs.webkit.org/show_bug.cgi?id=51012
41060
41061        Kana should be displayed correctly in vertical text with broken font.
41062
41063        Test: fast/blockflow/japanese-rl-text-with-broken-font.html
41064
41065        * platform/graphics/Font.cpp:
41066        (WebCore::Font::isCJKIdeographOrSymbol): add katakana, hiraganna, and Halfwidth and Fullwidth Forms
41067
410682010-12-14  Dan Bernstein  <mitz@apple.com>
41069
41070        Reviewed by Sam Weinig.
41071
41072        Additional RenderStyle support for the text-emphasis CSS property
41073        Part of <rdar://problem/7720300> Support the CSS3 text-emphasis property
41074        https://bugs.webkit.org/show_bug.cgi?id=48539
41075
41076        No test possible, since this is just adding a function to be used by upcoming patches.
41077
41078        * platform/text/CharacterNames.h: Added characters used as emphasis marks.
41079        * rendering/style/RenderStyle.cpp:
41080        (WebCore::RenderStyle::textEmphasisMarkString): Added. Returns a string containing the
41081        emphasis mark, or the null AtomicString if there is none.
41082        * rendering/style/RenderStyle.h:
41083
410842010-12-14  Anton D'Auria  <adauria@apple.com>
41085
41086        Reviewed by Darin Adler.
41087
41088        Do not allow access to existing HTML5 databases in private browsing
41089        mode https://bugs.webkit.org/show_bug.cgi?id=49332
41090
41091        Test: storage/private-browsing-noread-nowrite.html
41092
41093        Previously, read-only transactions and private browsing mode were
41094        represented by the same SQLStatement and DatabaseAuthorizer states.
41095        This patch removes the m_readOnly member variable from SQLStatement and
41096        DatabaseAuthorizer, and replaces it with m_permissions whose bit fields
41097        are initialized by a DatabaseAuthorizer enum Permissions (ReadWrite,
41098        ReadOnly, NoAccess). A read-only transaction sets permissions to
41099        ReadOnly, and if !m_database->scriptExecutionContext()->allowDatabaseAccess(),
41100        then permissions also set to NoAccess.
41101
41102        * dom/Document.cpp:
41103        (WebCore::Document::allowDatabaseAccess): this method was previously
41104        called isDatabaseReadOnly. It checks if private browsing preference is
41105        set. This method is renamed because it is used to check if private
41106        browsing restricts access to databases.
41107        * dom/Document.h:
41108        * dom/ScriptExecutionContext.h:
41109        * storage/AbstractDatabase.cpp:
41110        (WebCore::AbstractDatabase::setAuthorizerPermissions):
41111        * storage/AbstractDatabase.h:
41112        * storage/DatabaseAuthorizer.cpp:
41113        (WebCore::DatabaseAuthorizer::reset):
41114        (WebCore::DatabaseAuthorizer::createTable):
41115        (WebCore::DatabaseAuthorizer::createTempTable):
41116        (WebCore::DatabaseAuthorizer::dropTable):
41117        (WebCore::DatabaseAuthorizer::dropTempTable):
41118        (WebCore::DatabaseAuthorizer::allowAlterTable):
41119        (WebCore::DatabaseAuthorizer::createIndex):
41120        (WebCore::DatabaseAuthorizer::createTempIndex):
41121        (WebCore::DatabaseAuthorizer::dropIndex):
41122        (WebCore::DatabaseAuthorizer::dropTempIndex):
41123        (WebCore::DatabaseAuthorizer::createTrigger):
41124        (WebCore::DatabaseAuthorizer::createTempTrigger):
41125        (WebCore::DatabaseAuthorizer::dropTrigger):
41126        (WebCore::DatabaseAuthorizer::dropTempTrigger):
41127        (WebCore::DatabaseAuthorizer::createView):
41128        (WebCore::DatabaseAuthorizer::createTempView):
41129        (WebCore::DatabaseAuthorizer::dropView):
41130        (WebCore::DatabaseAuthorizer::dropTempView):
41131        (WebCore::DatabaseAuthorizer::createVTable):
41132        (WebCore::DatabaseAuthorizer::dropVTable):
41133        (WebCore::DatabaseAuthorizer::allowDelete):
41134        (WebCore::DatabaseAuthorizer::allowInsert):
41135        (WebCore::DatabaseAuthorizer::allowUpdate):
41136        (WebCore::DatabaseAuthorizer::allowRead):
41137        (WebCore::DatabaseAuthorizer::allowReindex):
41138        (WebCore::DatabaseAuthorizer::allowWrite): a new private method that
41139        checks if DatabaseAuthorizer is enabled and if it is in ReadOnly or
41140        NoAccess mode.
41141        (WebCore::DatabaseAuthorizer::setReadOnly):
41142        (WebCore::DatabaseAuthorizer::setPermissions):
41143        * storage/DatabaseAuthorizer.h:
41144        * storage/SQLStatement.cpp:
41145        (WebCore::SQLStatement::create):
41146        (WebCore::SQLStatement::SQLStatement):
41147        (WebCore::SQLStatement::execute):
41148        * storage/SQLStatement.h:
41149        * storage/SQLStatementSync.cpp:
41150        (WebCore::SQLStatementSync::SQLStatementSync):
41151        (WebCore::SQLStatementSync::execute):
41152        * storage/SQLStatementSync.h:
41153        * storage/SQLTransaction.cpp:
41154        (WebCore::SQLTransaction::executeSQL):
41155        * storage/SQLTransactionSync.cpp:
41156        (WebCore::SQLTransactionSync::executeSQL):
41157        * workers/WorkerContext.h:
41158        (WebCore::WorkerContext::allowDatabaseAccess):
41159
411602010-12-02  MORITA Hajime  <morrita@google.com>
41161
41162        Reviewed by Dimitri Glazkov.
41163
41164        [chromium] Fix drawing of inset box shadows
41165        https://bugs.webkit.org/show_bug.cgi?id=41576
41166
41167        When clearing outside clipped path, the context contains unexpected transform.
41168        Fixed to restore original state before the clear.
41169
41170        * platform/graphics/skia/PlatformContextSkia.cpp:
41171        (WebCore::PlatformContextSkia::clipPathAntiAliased):
41172        (WebCore::PlatformContextSkia::applyAntiAliasedClipPaths):
41173
411742010-12-14  Anders Carlsson  <andersca@apple.com>
41175
41176        Reviewed by Sam Weinig.
41177
41178        Mouse Events Not Received in Run Applet in their Own Process Mode
41179        https://bugs.webkit.org/show_bug.cgi?id=51078
41180        <rdar://problem/8333491>
41181
41182        Make sure that Widget::handleEvent is called for applets as well.
41183
41184        * html/HTMLAppletElement.cpp:
41185        (WebCore::HTMLAppletElement::defaultEventHandler):
41186        * html/HTMLAppletElement.h:
41187
411882010-12-14  Simon Fraser  <simon.fraser@apple.com>
41189
41190        Reviewed by Chris Marrin.
41191
41192        Parts of page disappear
41193        https://bugs.webkit.org/show_bug.cgi?id=41701
41194        
41195        The page has text-indent: -1000000px on an element that becomes
41196        compositing, causing a huge tiled layer to get created.
41197        
41198        r63452 aimed to fix this by clamping layer bounds to the viewport,
41199        but did not do so for pages running accelerated animations (since
41200        we don't want to clamp for transform animations). However, this
41201        page only has an opacity animation.
41202        
41203        So refine the logic added for r63452 to only call setCompositingConsultsOverlap(false)
41204        for transform animations.
41205
41206        Test: compositing/geometry/limit-layer-bounds-opacity-transition.html
41207
41208        * rendering/RenderLayerBacking.cpp:
41209        (WebCore::RenderLayerBacking::startAnimation): call didStartAcceleratedAnimation()
41210        with the appropriate properties, and clean up confusing logic that was used to
41211        compute the return value. We want to return true if either property is accelerated.
41212
41213        (WebCore::RenderLayerBacking::startTransition): Call didStartAcceleratedAnimation()
41214        with the appropriate property.
41215        
41216        * rendering/RenderLayerCompositor.h:
41217        * rendering/RenderLayerCompositor.cpp:
41218        (WebCore::RenderLayerCompositor::didStartAcceleratedAnimation): Pass the property in,
41219        and only turn off overlap testing if we see a transform animation.
41220
412212010-12-14  Brady Eidson  <beidson@apple.com>
41222
41223        Reviewed by Alexey Proskuryakov.
41224
41225        <rdar://problem/8225016> and https://bugs.webkit.org/show_bug.cgi?id=40138
41226        Authorization header is sent from an HTTP Auth protected site on redirect
41227        Test: http/tests/misc/authentication-sent-to-redirect.html
41228
41229        Add helper to clear the Auth headers from a resource request:
41230        * platform/network/ResourceRequestBase.cpp:
41231        (WebCore::ResourceRequestBase::clearHTTPAuthorization):
41232        * platform/network/ResourceRequestBase.h:
41233
41234        Only Mac and Windows CFNetwork ports seem to have this problem, so plug it for them:
41235        * platform/network/cf/ResourceHandleCFNet.cpp:
41236        (WebCore::ResourceHandle::willSendRequest):
41237        * platform/network/mac/ResourceHandleMac.mm:
41238        (WebCore::ResourceHandle::willSendRequest):
41239
412402010-12-14  Simon Fraser  <simon.fraser@apple.com>
41241
41242        Reviewed by Chris Marrin.
41243
41244        Crash in WebCore::GraphicsLayer::paintGraphicsLayerContents() loading this URL
41245        https://bugs.webkit.org/show_bug.cgi?id=51072
41246
41247        Fix a crash when painting a layer whose PlatformCALayer has been deleted,
41248        by clearing the PlatformCALayer value on the CALayer when the PlatformCALayer
41249        is destroyed.
41250        
41251        I was not able to reduce the page to a simple testcase.
41252
41253        * platform/graphics/ca/mac/PlatformCALayerMac.mm:
41254        (PlatformCALayer::~PlatformCALayer):
41255
412562010-12-14  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
41257
41258        Unreviewed, build fix.
41259
41260        [Qt] Fix the list of header files in WebCore.pro after r74049.
41261
41262        No new tests as there is no new functionality.
41263
41264        * WebCore.pro:
41265
412662010-12-14  Yael Aharon  <yael.aharon@nokia.com>
41267
41268        Reviewed by Andreas Kling.
41269
41270        [Qt] Focus rings are ugly, rects should be united instead of drawn individually
41271        https://bugs.webkit.org/show_bug.cgi?id=49953
41272
41273        Create a QPainterPath and add to it the focus rects, one at a time.
41274        Combine the 2 drawFocusRing functions into one function drawFocusRingForPath.
41275
41276        Tests: fast/css/focus-ring-detached.html
41277               fast/css/focus-ring-multiline.html
41278
41279        * platform/graphics/qt/GraphicsContextQt.cpp:
41280        (WebCore::drawFocusRingForPath):
41281        (WebCore::GraphicsContext::drawFocusRing):
41282
412832010-12-14  Mark Rowe  <mrowe@apple.com>
41284
41285        Fix the Qt build.
41286
41287        * xml/XSLTProcessorQt.cpp:
41288        (WebCore::XSLTProcessor::transformToString): Make the conversion to QString explicit
41289        since QVariant can be constructed from either a QString or a bool.
41290
412912010-12-14  Simon Fraser  <simon.fraser@apple.com>
41292
41293        Reviewed by Dan Bernstein.
41294
41295        compositing/masks/simple-composited-mask.html failure
41296        https://bugs.webkit.org/show_bug.cgi?id=49746
41297
41298        Geometry of composited layers with a mask depends on the loading
41299        of the mask image, since maskClipRect() is used for the layer bounds.
41300        
41301        So when RenderBox::imageChanged() is called for an image used by
41302        a mask on a layer with a composited mask, call the newly-renamed
41303        layer->contentsChanged() method. This percolates down into RenderLayerBacking,
41304        ending in a layer geometry update.
41305        
41306        Renamed RenderLayer::rendereContentsChanged() to contentsChanged() and added
41307        an enum to say what changed, for somewhat more efficient updating.
41308        
41309        Also, when the mask layer gets resized, make sure we mark it as needing
41310        display.
41311        
41312        Tested by pixel result of compositing/masks/simple-composited-mask.html
41313
41314        * html/canvas/CanvasRenderingContext2D.cpp:
41315        (WebCore::CanvasRenderingContext2D::didDraw):
41316        * html/canvas/WebGLRenderingContext.cpp:
41317        (WebCore::WebGLRenderingContext::markContextChanged):
41318        (WebCore::WebGLRenderingContext::reshape):
41319        * rendering/RenderBox.cpp:
41320        (WebCore::layersUseImage):
41321        (WebCore::RenderBox::imageChanged):
41322        * rendering/RenderImage.cpp:
41323        (WebCore::RenderImage::imageDimensionsChanged):
41324        (WebCore::RenderImage::notifyFinished):
41325        * rendering/RenderLayer.cpp:
41326        (WebCore::RenderLayer::contentChanged):
41327        * rendering/RenderLayer.h:
41328        * rendering/RenderLayerBacking.cpp:
41329        (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
41330        (WebCore::RenderLayerBacking::contentChanged):
41331        * rendering/RenderLayerBacking.h:
41332        * rendering/RenderVideo.cpp:
41333        (WebCore::RenderVideo::updatePlayer):
41334
413352010-12-14  Mark Rowe  <mrowe@apple.com>
41336
41337        Reviewed by Sam Weinig.
41338
41339        <http://webkit.org/b/51064> Reproducible crash inside WebCore::MediaPlayerPrivateQTKit::createQTMovie when loading <video>
41340
41341        We were crashing inside MediaPlayerPrivateQTKit::createQTMovie as we were passing a null URL in
41342        to CFNetworkCopyProxiesForURL. This happened because we were null-checking the URL incorrectly.
41343
41344        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
41345        (WebCore::MediaPlayerPrivateQTKit::resumeLoad): Explicitly test for a null string.
41346
413472010-12-14  David Hyatt  <hyatt@apple.com>
41348
41349        Reviewed by Dan Bernstein.
41350
41351        https://bugs.webkit.org/show_bug.cgi?id=50970
41352        
41353        It's arguably a bug, but we don't let inline flow layers paint floating
41354        descendants.  The containing block of the inline flow paints them instead.
41355        However our shouldPaint logic has always been flawed and has turned off propagation
41356        of painting when an inline flow layer is enclosing the float.
41357        
41358        Change enclosingSelfPaintingLayer to enclosingFloatPaintingLayer to be more precise
41359        and for now limit it to RenderBoxes. 
41360        
41361        Added fast/block/float/floatstack.html
41362
41363        * rendering/RenderBlock.cpp:
41364        (WebCore::RenderBlock::addOverhangingFloats):
41365        * rendering/RenderBox.cpp:
41366        (WebCore::RenderBox::enclosingFloatPaintingLayer):
41367        * rendering/RenderBox.h:
41368        * rendering/RenderObject.cpp:
41369        * rendering/RenderObject.h:
41370
413712010-12-14  Mihai Parparita  <mihaip@chromium.org>
41372
41373        Reviewed by Dimitri Glazkov.
41374
41375        Move asynchronous event dispatching out of Document
41376        https://bugs.webkit.org/show_bug.cgi?id=49785
41377        
41378        Move asynchonous event code out of Document and into a standalone
41379        EventQueue class (which supports async events for both regular nodes
41380        and the window object).
41381
41382        No new tests necessary, since no new functionality is exposed (existing
41383        layout tests pass).
41384
41385        * Android.mk:
41386        * CMakeLists.txt:
41387        * GNUmakefile.am:
41388        * WebCore.gypi:
41389        * WebCore.pro:
41390        * WebCore.vcproj/WebCore.vcproj:
41391        * WebCore.xcodeproj/project.pbxproj:
41392        * dom/Document.cpp:
41393        (WebCore::Document::Document):
41394        (WebCore::Document::enqueueWindowEvent):
41395        (WebCore::Document::enqueueHashchangeEvent):
41396        * dom/DOMAllInOne.cpp:
41397        (WebCore::Document::eventQueue):
41398        * dom/Document.h:
41399        * dom/EventQueue.cpp: Added.
41400        (WebCore::EventQueue::EventQueue):
41401        (WebCore::EventQueue::enqueueEvent):
41402        (WebCore::EventQueue::pendingEventTimerFired):
41403        (WebCore::EventQueue::dispatchEvent):
41404        * dom/EventQueue.h: Added.
41405        * storage/StorageEventDispatcher.cpp:
41406        (WebCore::StorageEventDispatcher::dispatch):
41407
414082010-12-14  Kyounga Ra  <kyounga.ra@gmail.com>
41409
41410        Reviewed by Adam Barth.
41411
41412        <noscript> is rendered with enabled XHTMLMP.
41413        https://bugs.webkit.org/show_bug.cgi?id=48493
41414
41415        * html/HTMLElement.cpp:
41416        (WebCore::HTMLElement::rendererIsNeeded):
41417
414182010-12-14  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
41419
41420        Reviewed by Eric Seidel.
41421
41422        [Qt] [Symbian] Do not use pkg-config on Symbian as it is not supported
41423        https://bugs.webkit.org/show_bug.cgi?id=50231
41424
41425        No new tests as there is no new functionality.
41426
41427        Guard CONFIG+=link_pkgconfig with !symbian.
41428
41429        * WebCore.pro:
41430
414312010-12-14  Sheriff Bot  <webkit.review.bot@gmail.com>
41432
41433        Unreviewed, rolling out r74040.
41434        http://trac.webkit.org/changeset/74040
41435        https://bugs.webkit.org/show_bug.cgi?id=51050
41436
41437        Breaks 2d.shadow.canvas.transparent.2 and
41438        2d.shadow.image.transparent.2 (Requested by helder on
41439        #webkit).
41440
41441        * platform/graphics/ContextShadow.cpp:
41442        (WebCore::ContextShadow::ContextShadow):
41443        (WebCore::ContextShadow::calculateLayerBoundingRect):
41444        * platform/graphics/ContextShadow.h:
41445        (WebCore::ContextShadow::offset):
41446        * platform/graphics/qt/ContextShadowQt.cpp:
41447        (WebCore::ContextShadow::beginShadowLayer):
41448        (WebCore::ContextShadow::endShadowLayer):
41449        * platform/graphics/qt/GraphicsContextQt.cpp:
41450        (WebCore::GraphicsContext::fillPath):
41451        (WebCore::GraphicsContext::strokePath):
41452        (WebCore::GraphicsContext::fillRect):
41453        (WebCore::GraphicsContext::fillRoundedRect):
41454        (WebCore::GraphicsContext::setPlatformShadow):
41455
414562010-12-14  Nate Chapin  <japhet@chromium.org>
41457
41458        Unreviewed, fixing qt (hopefully for real this time).
41459
41460        Remove a couple more references to loader.h.
41461
41462        * xml/XSLStyleSheetQt.cpp:
41463        * xml/XSLTProcessorQt.cpp:
41464
414652010-12-14  Nate Chapin  <japhet@chromium.org>
41466
41467        Unreviewed, fix mac and qt builds.
41468
41469        Missed a couple of references to loader.h and
41470        improperly added CachedResourceRequest.h to
41471        WebCore.xcodeproj.
41472
41473        * WebCore.xcodeproj/project.pbxproj:
41474        * platform/android/TemporaryLinkStubs.cpp:
41475        * platform/qt/TemporaryLinkStubsQt.cpp:
41476
414772010-12-14  Nate Chapin  <japhet@chromium.org>
41478
41479        Reviewed by Adam Barth.
41480
41481        Rename Loader to CachedResourceRequest.
41482        https://bugs.webkit.org/show_bug.cgi?id=50848
41483
41484        No new tests, rename only.
41485
41486        * Android.mk:
41487        * CMakeLists.txt:
41488        * GNUmakefile.am:
41489        * WebCore.gypi:
41490        * WebCore.pro:
41491        * WebCore.vcproj/WebCore.vcproj:
41492        * WebCore.xcodeproj/project.pbxproj:
41493        * css/CSSStyleSelector.cpp:
41494        * loader/cache/CachedCSSStyleSheet.cpp:
41495        * loader/cache/CachedFont.cpp:
41496        * loader/cache/CachedResource.cpp:
41497        (WebCore::CachedResource::setRequest):
41498        * loader/cache/CachedResource.h:
41499        * loader/cache/CachedResourceLoader.cpp:
41500        (WebCore::CachedResourceLoader::load):
41501        (WebCore::CachedResourceLoader::loadDone):
41502        (WebCore::CachedResourceLoader::cancelRequests):
41503        * loader/cache/CachedResourceLoader.h:
41504        * loader/cache/CachedResourceRequest.cpp: Copied from WebCore/loader/loader.cpp.
41505        * loader/cache/CachedResourceRequest.h: Copied from WebCore/loader/loader.h.
41506        * loader/loader.cpp: Removed.
41507        * loader/loader.h: Removed.
41508        * xml/XSLStyleSheetLibxslt.cpp:
41509        * xml/XSLTProcessor.cpp:
41510        * xml/XSLTProcessorLibxslt.cpp:
41511
415122010-12-14  David Hyatt  <hyatt@apple.com>
41513
41514        Reviewed by Tim Hatcher.
41515
41516        https://bugs.webkit.org/show_bug.cgi?id=46422
41517
41518        Rename pageHeight variables and members in WebCore to pageLogicalHeight in preparation for
41519        making printing and pagination work with vertical writing modes.
41520
41521        * page/FrameView.cpp:
41522        (WebCore::FrameView::forceLayoutForPagination):
41523        * rendering/LayoutState.cpp:
41524        (WebCore::LayoutState::LayoutState):
41525        (WebCore::LayoutState::clearPaginationInformation):
41526        * rendering/LayoutState.h:
41527        (WebCore::LayoutState::LayoutState):
41528        (WebCore::LayoutState::isPaginated):
41529        (WebCore::LayoutState::pageLogicalHeight):
41530        (WebCore::LayoutState::pageLogicalHeightChanged):
41531        * rendering/RenderBlock.cpp:
41532        (WebCore::RenderBlock::layoutBlock):
41533        (WebCore::RenderBlock::markForPaginationRelayoutIfNeeded):
41534        (WebCore::RenderBlock::insertFloatingObject):
41535        (WebCore::RenderBlock::layoutColumns):
41536        (WebCore::RenderBlock::nextPageTop):
41537        (WebCore::RenderBlock::applyBeforeBreak):
41538        (WebCore::RenderBlock::applyAfterBreak):
41539        (WebCore::RenderBlock::adjustForUnsplittableChild):
41540        (WebCore::RenderBlock::adjustLinePositionForPagination):
41541        * rendering/RenderBlock.h:
41542        * rendering/RenderBox.cpp:
41543        (WebCore::RenderBox::computeLogicalHeight):
41544        * rendering/RenderFlexibleBox.cpp:
41545        (WebCore::RenderFlexibleBox::layoutBlock):
41546        * rendering/RenderTable.cpp:
41547        (WebCore::RenderTable::layout):
41548        * rendering/RenderTableRow.cpp:
41549        (WebCore::RenderTableRow::layout):
41550        * rendering/RenderTableSection.cpp:
41551        (WebCore::RenderTableSection::layoutRows):
41552        * rendering/RenderView.cpp:
41553        (WebCore::RenderView::RenderView):
41554        (WebCore::RenderView::layout):
41555        * rendering/RenderView.h:
41556        (WebCore::RenderView::pageLogicalHeight):
41557        (WebCore::RenderView::setPageLogicalHeight):
41558
415592010-12-14  Dimitri Glazkov  <dglazkov@chromium.org>
41560
41561        Fix GTK build by adding source files that were accidentally skipped in
41562        r74044. Sorry!
41563
41564        * GNUmakefile.am: Added SliderThumbElement.
41565
415662010-12-14  Beth Dakin  <bdakin@apple.com>
41567
41568        Reviewed by Darin Adler.
41569
41570        Fix for https://bugs.webkit.org/show_bug.cgi?id=50974 
41571        getComputedStyle() returns wrong values for zoomed elements when 
41572        display is none
41573        -and corresponding-
41574        <rdar://problem/8522731>
41575
41576        If there is no renderer but the RenderStyle's value is a fixed 
41577        length, send it through zoomAdjustedPixelValue(). There's not much 
41578        we can do for other length types without a renderer.
41579        * css/CSSComputedStyleDeclaration.cpp:
41580        (WebCore::zoomAdjustedPixelValueForLength):
41581        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
41582
415832010-12-13  Dimitri Glazkov  <dglazkov@chromium.org>
41584
41585        Reviewed by David Levin.
41586
41587        Move SliderThumbElement into its own file.
41588        https://bugs.webkit.org/show_bug.cgi?id=50973
41589
41590        No change in behavior, so no tests.
41591
41592        * Android.mk: Added SliderThumbElement.
41593        * CMakeLists.txt: Ditto.
41594        * WebCore.gyp/WebCore.gyp: Ditto.
41595        * WebCore.gypi: Ditto.
41596        * WebCore.pro: Ditto.
41597        * WebCore.vcproj/WebCore.vcproj: Ditto.
41598        * WebCore.xcodeproj/project.pbxproj: Ditto,
41599        * html/shadow/SliderThumbElement.cpp: Added.
41600        * html/shadow/SliderThumbElement.h: Added.
41601        * rendering/RenderSlider.cpp: Removed code that was moved into
41602            SliderThumbElement.
41603
416042010-12-13  Alexey Proskuryakov  <ap@apple.com>
41605
41606        Reviewed by Adam Barth.
41607
41608        https://bugs.webkit.org/show_bug.cgi?id=50953
41609        DNS Prefetch should be an opt-in feature
41610
41611        No new tests, can't test DNS.
41612
41613        * dom/Document.h: Made initDNSPrefetch public, since Page now calls it.
41614
41615        * page/Page.cpp: (WebCore::Page::dnsPrefetchingStateChanged):
41616        * page/Page.h:
41617        Documents cache the value of this setting, so they need to be notified of changes. In particular,
41618        the first document in a page is created before settings are applied.
41619
41620        * page/Settings.cpp:
41621        (WebCore::Settings::Settings): Changed default to false.
41622        (WebCore::Settings::setDNSPrefetchingEnabled): Notify the page about the change.
41623
416242010-12-14  Helder Correia  <helder@sencha.com>
41625
41626        Reviewed by Ariya Hidayat.
41627
41628        [Qt] Canvas shadow offset should not be affected by any transformation
41629        https://bugs.webkit.org/show_bug.cgi?id=50422
41630
41631        On a canvas context, shadows are currently affected by all
41632        transformations except scaling. According to the spec:
41633        http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html#shadows
41634
41635        "The shadowOffsetX and shadowOffsetY attributes specify the distance
41636        that the shadow will be offset in the positive horizontal and positive
41637        vertical distance respectively. Their values are in coordinate space
41638        units. They are not affected by the current transformation matrix."
41639
41640        NOTE: this applies only to canvas, not to box shadows.
41641
41642        Test: fast/canvas/canvas-transforms-fillRect-shadow.html
41643
41644        * platform/graphics/ContextShadow.cpp:
41645        (WebCore::ContextShadow::ContextShadow):
41646        (WebCore::ContextShadow::calculateLayerBoundingRect):
41647        * platform/graphics/ContextShadow.h:
41648        (WebCore::ContextShadow::setShadowsIgnoreTransforms):
41649        (WebCore::ContextShadow::shadowsIgnoreTransforms):
41650        (WebCore::ContextShadow::offset):
41651        * platform/graphics/qt/ContextShadowQt.cpp:
41652        (WebCore::ContextShadow::beginShadowLayer):
41653        (WebCore::ContextShadow::endShadowLayer):
41654        * platform/graphics/qt/GraphicsContextQt.cpp:
41655        (WebCore::mustUseContextShadow):
41656        (WebCore::GraphicsContext::fillPath):
41657        (WebCore::GraphicsContext::strokePath):
41658        (WebCore::GraphicsContext::fillRect):
41659        (WebCore::GraphicsContext::fillRoundedRect):
41660        (WebCore::GraphicsContext::setPlatformShadow):
41661
416622010-12-14  Alexander Pavlov  <apavlov@chromium.org>
41663
41664        Reviewed by Yury Semikhatsky.
41665
41666        Web Inspector: Rule data not updated in Styles pane after stylesheet gets reverted
41667        https://bugs.webkit.org/show_bug.cgi?id=51034
41668
41669        * inspector/front-end/CSSStyleModel.js:
41670        (WebInspector.CSSStyleModel.prototype._onRevert):
41671        * inspector/front-end/ElementsPanel.js:
41672        (WebInspector.ElementsPanel):
41673        (WebInspector.ElementsPanel.prototype._metricsPaneEdited):
41674        (WebInspector.ElementsPanel.prototype._stylesPaneEdited):
41675        (WebInspector.ElementsPanel.prototype._styleSheetChanged):
41676
416772010-12-14  Andreas Kling  <andreas.kling@nokia.com>
41678
41679        Reviewed by Kenneth Rohde Christiansen.
41680
41681        [Qt] Avoid GraphicsContext save/restore in Image::drawPattern()
41682        https://bugs.webkit.org/show_bug.cgi?id=51037
41683
41684        It's enough to restore the CompositeOperator after drawing.
41685
41686        * platform/graphics/qt/ImageQt.cpp:
41687        (WebCore::Image::drawPattern):
41688
416892010-12-14  Eric Carlson  <eric.carlson@apple.com>
41690
41691        Reviewed by Dan Bernstein.
41692
41693        <rdar://problem/8763862>
41694        r72017 used incorrect compiler conditional.
41695
41696        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
41697        (WebCore::MediaPlayerPrivateQTKit::createQTMovie):
41698
416992010-12-14  Carlos Garcia Campos  <cgarcia@igalia.com>
41700
41701        Reviewed by Martin Robinson.
41702
41703        [GTK] Simplify context-menu handling code
41704        https://bugs.webkit.org/show_bug.cgi?id=49658
41705
41706        * platform/ContextMenuItem.h:
41707        * platform/gtk/ContextMenuGtk.cpp:
41708        (WebCore::ContextMenu::appendItem):
41709        * platform/gtk/ContextMenuItemGtk.cpp:
41710        (WebCore::ContextMenuItem::ContextMenuItem):
41711        (WebCore::ContextMenuItem::~ContextMenuItem):
41712        (WebCore::ContextMenuItem::releasePlatformDescription):
41713        (WebCore::ContextMenuItem::type):
41714        (WebCore::ContextMenuItem::setType):
41715        (WebCore::ContextMenuItem::action):
41716        (WebCore::ContextMenuItem::setAction):
41717        (WebCore::ContextMenuItem::title):
41718        (WebCore::ContextMenuItem::setTitle):
41719        (WebCore::ContextMenuItem::platformSubMenu):
41720        (WebCore::ContextMenuItem::setSubMenu):
41721        (WebCore::ContextMenuItem::setChecked):
41722        (WebCore::ContextMenuItem::setEnabled):
41723
417242010-12-14  Mario Sanchez Prada  <msanchez@igalia.com>
41725
41726        Reviewed by Xan Lopez.
41727
41728        [Gtk] Implement STATE_FOCUSED, STATE_FOCUSABLE, and corresponding events for text objects
41729        https://bugs.webkit.org/show_bug.cgi?id=27048
41730
41731        Handle focus change for text objects based in caret changes.
41732
41733        As text objects (such as paragraphs) seem not to accept focus in
41734        WebCore in the same way other objects (text controls) do, a
41735        Gtk-specific workaround is needed to expose this states and the
41736        related events to ATK-based assistive technologies.
41737
41738        Test: platform/gtk/accessibility/caret-browsing-text-focus.html
41739
41740        Ensure that text objects are exposed with the ATK_STATE_FOCUSABLE
41741        state, and that the ATK_STATE_FOCUSED state is added to those
41742        text objects containing the currently active caret selection.
41743
41744        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
41745        (selectionBelongsToObject): Moved upwards to use it from
41746        the new isTextWithCaret() function.
41747        (isTextWithCaret): New, checks whether an accessibility object
41748        represents a text object with the current caret selection on it.
41749        (setAtkStateSetFromCoreObject): Add the ATK_STATE_FOCUSED state
41750        when also when isTextWithCaret(coreObject) returns true.
41751        (webkit_accessible_ref_state_set): Add the ATK_STATE_FOCUSABLE
41752        state to text objects and those with the ATK_ROLE_PARAGRAPH role.
41753        (webkit_accessible_text_get_n_selections): Optimize return expression.
41754
41755        Make sure the proper events associated to a change of focus are
41756        emitted, based on caret changes across different accessibility
41757        objects. Also, refactored the code in more manageable and
41758        understandable helper functions.
41759
41760        * editing/gtk/SelectionControllerGtk.cpp:
41761        (WebCore::emitTextSelectionChange): New, includes the specific
41762        code formerly placed in notifyAccessibilityForSelectionChange() to
41763        emit the 'text-caret-moved' and 'text-selection-change' signals.
41764        (WebCore::maybeEmitTextFocusChange): New, takes care of emitting
41765        the 'focus-event' and 'state-changed::focused' signals when
41766        needed, that is, when a change in the selection happens across
41767        different accessible objects.
41768        (WebCore::SelectionController::notifyAccessibilityForSelectionChange):
41769        Refactored some code here, by using the new helper functions.
41770
417712010-12-14  Ilya Tikhonovsky  <loislo@chromium.org>
41772
41773        Reviewed by Pavel Feldman.
41774
41775        Web Inspector: regroup Inspector.idl entries.
41776        Just for better visibility.
41777
41778        https://bugs.webkit.org/show_bug.cgi?id=51025
41779
41780        * inspector/Inspector.idl:
41781
417822010-12-14  Alexander Pavlov  <apavlov@chromium.org>
41783
41784        Reviewed by Yury Semikhatsky.
41785
41786        Web Inspector: Reverted stylesheet breaks style data
41787        https://bugs.webkit.org/show_bug.cgi?id=51030
41788
41789        * inspector/InspectorStyleSheet.cpp:
41790        (WebCore::InspectorStyleSheet::reparseStyleSheet):
41791
417922010-12-14  Mads Ager  <ager@chromium.org>
41793
41794        Reviewed by Pavel Feldman.
41795
41796        [V8] Reflected unsigned attributes should be in the range [0, 2^31)
41797        https://bugs.webkit.org/show_bug.cgi?id=51023
41798
41799        Follow the changes made to CodeGeneratorJS.pm to return 0 for
41800        reflected unsigned attributes that are outside the allowed range.
41801        See https://bugs.webkit.org/show_bug.cgi?id=50472
41802
41803        * bindings/scripts/CodeGeneratorV8.pm:
41804
418052010-12-14  Charlie Reis  <creis@chromium.org>
41806
41807        Reviewed by Darin Adler.
41808
41809        Remove stale include of Document.h in V8DOMWrapper.h
41810        https://bugs.webkit.org/show_bug.cgi?id=50607
41811
41812        We no longer need to include Document.h or V8DOMMap.h in
41813        V8DOMWrapper.  Removing them to avoid dependencies.
41814
41815        * bindings/v8/V8DOMWrapper.h:
41816
418172010-12-14  Julien Chaffraix  <jchaffraix@codeaurora.org>
41818
41819        Reviewed by Darin Adler.
41820
41821        Test for: EventSource fails to connect if Content-Type header has a charset attribute
41822        https://bugs.webkit.org/show_bug.cgi?id=45372
41823
41824        Tests: http/tests/eventsource/eventsource-content-type-charset.html
41825               http/tests/eventsource/eventsource-content-type-text-event-stream-foobar.html
41826
41827        * page/EventSource.cpp:
41828        (WebCore::EventSource::didReceiveResponse): Use the mimeType instead of the Content-Type
41829        header directly. This makes the detection of the "text/stream" mimeType more accurate.
41830
418312010-12-14  Pieter Senster  <psenster@google.com>
41832
41833        Reviewed by Dirk Schulze.
41834
41835        Incorporate the channel offsets from the ColorMatrix filter in the filter calculation
41836        https://bugs.webkit.org/show_bug.cgi?id=50682
41837
41838        Test: svg/filters/feColorMatrix-offset.svg
41839
41840        * platform/graphics/filters/FEColorMatrix.cpp:
41841        (WebCore::matrix):
41842
418432010-12-14  Jarred Nicholls  <jarred@sencha.com>
41844
41845        Reviewed by Kenneth Rohde Christiansen.
41846
41847        Qt's Clipboard::files() implementation for HTML5 Drag/Drop (DataTransfer)
41848
41849        No new tests. Run tests manually until DRT is updated w/ beginDragWithFiles.
41850
41851        * platform/qt/ClipboardQt.cpp:
41852        (WebCore::ClipboardQt::files):
41853
418542010-12-13  Antonio Gomes  <agomes@rim.com>
41855
41856        Rubber stamped by Daniel Bates.
41857
41858        Spatial Navigation: code clean up (part V)
41859        https://bugs.webkit.org/show_bug.cgi?id=50666
41860
41861        No new tests needed.
41862
41863        * page/SpatialNavigation.cpp:
41864        (WebCore::distanceDataForNode): Made 'FocusCandidate current' const since it is not
41865        supposed to change within this function.
41866        * page/SpatialNavigation.h: Ditto.
41867
418682010-12-13  takano takumi  <takano@apple.com>
41869
41870        Reviewed by Dan Bernstein.
41871
41872        GlyphPage::fill() is slow on vertical writing (Mac)
41873        https://bugs.webkit.org/show_bug.cgi?id=50865
41874
41875        No test. Just a performance improvement.
41876
41877        * platform/graphics/Font.cpp:
41878        (WebCore::Font::isCJKIdeograph): Now this only checks pure ideographs (Hanji).
41879        (WebCore::Font::isCJKIdeographOrSymbol): Added this for Hanji and Hanji related symbols.
41880        * platform/graphics/Font.h:
41881        * platform/graphics/FontFastPath.cpp:
41882        (WebCore::Font::glyphDataForCharacter): Changed to call isCJKIdeographOrSymbol() instead of isCJKIdeograph().
41883        * platform/graphics/mac/GlyphPageTreeNodeMac.cpp:
41884        (WebCore::shouldUseCoreText): This tests if GlyphPage::fill() should use CoreText or not.
41885        For vertical writing, if the current page contains only ideographs, we go CG path.
41886        (WebCore::GlyphPage::fill): Made to call shouldUseCoreText() and switch code path.
41887
418882010-12-13  Antonio Gomes  <agomes@rim.com>
41889
41890        Reviewed by Daniel Bates.
41891
41892        Spatial Navigation: code clean up (part IV)
41893        https://bugs.webkit.org/show_bug.cgi?id=50666
41894
41895        Avoid calling canScrollInDirection more than necessary.
41896
41897        No new tests needed.
41898
41899        * page/FocusController.cpp:
41900        (WebCore::FocusController::advanceFocusDirectionallyInContainer): Moved the call to canScrollInDirection()
41901        to within the scrollInDirection().
41902        * page/SpatialNavigation.cpp: Removed the assertion to canScrollingDirection function.
41903        (WebCore::scrollInDirection):
41904
419052010-12-13  Antonio Gomes  <agomes@rim.com>
41906
41907        Reviewed by Daniel Bates.
41908
41909        Spatial Navigation: code clean up (part III)
41910        https://bugs.webkit.org/show_bug.cgi?id=50666
41911
41912        No new tests needed.
41913
41914        * page/SpatialNavigation.h: Added FocusCandidate::isFrameOwnerElement and
41915        WebCore::frameOwnerElement helper functions.
41916        (WebCore::FocusCandidate::isFrameOwnerElement): Returns true if the Node pointer
41917        wrapped by FocusCandidate is an instance of HTMLFrameOwnerElement. Returns false
41918        otherwise.
41919        * page/SpatialNavigation.cpp:
41920        (WebCore::frameOwnerElement): Returns the HTMLFrameOwnerElement associated with
41921        the FocusCandidate if appropriate.
41922        * page/FocusController.cpp:
41923        (WebCore::updateFocusCandidateIfNeeded): Make use of newly added frameOwnerElement() helper.
41924        (WebCore::FocusController::advanceFocusDirectionallyInContainer): Ditto.
41925
419262010-12-13  Mike Lawther  <mikelawther@chromium.org>
41927
41928        Reviewed by Daniel Bates.
41929
41930        [skia] ignore transform for canvas shadows
41931        https://bugs.webkit.org/show_bug.cgi?id=50437
41932
41933        * platform/graphics/skia/GraphicsContextSkia.cpp:
41934        (WebCore::GraphicsContext::setPlatformShadow):
41935
419362010-12-13  Dai Mikurube  <dmikurube@google.com>
41937
41938        Reviewed by Kent Tamura.
41939
41940        ValidityState's exposed functions should check if willValidate() is true before all
41941        https://bugs.webkit.org/show_bug.cgi?id=50617
41942
41943        Added checking willValidate() to exposed functions. And modified willValidate() behavior
41944        for <button type="submit"> and <input type="submit"> to return true if not disabled and
41945        not readonly.
41946
41947        * html/HTMLButtonElement.cpp:
41948        (WebCore::HTMLButtonElement::parseMappedAttribute): Added calling setNeedsWillValidateCheck() to refresh willValidate() after changing its type.
41949        (WebCore::HTMLButtonElement::recalcWillValidate): Added to return true if not disabled and not readonly when type="submit". It's to be compliant to the spec.
41950        * html/HTMLButtonElement.h:
41951        * html/SubmitInputType.cpp:
41952        (WebCore::SubmitInputType::supportsValidation): Removed it to enable willValidate() for <input> when type="submit". It's to be compliant to the spec.
41953        (WebCore::SubmitInputType::supportsRequired): Added it to reject required attributes though validation is available.
41954        * html/SubmitInputType.h:
41955        * html/ValidityState.cpp: Added checking willValidate().
41956        (WebCore::ValidityState::typeMismatch):
41957        (WebCore::ValidityState::patternMismatch):
41958        (WebCore::ValidityState::tooLong):
41959        (WebCore::ValidityState::rangeUnderflow):
41960        (WebCore::ValidityState::rangeOverflow):
41961        (WebCore::ValidityState::stepMismatch):
41962        (WebCore::ValidityState::customError):
41963        * html/ValidityState.h:
41964
419652010-12-13  Noel Gordon  <noel.gordon@gmail.com>
41966
41967        Reviewed by David Levin.
41968
41969        [chromium] Upstream skia/ImageBuffer.cpp routine mulDiv255Ceil()
41970        https://bugs.webkit.org/show_bug.cgi?id=50545
41971
41972        Skia has rolled, replace uses of mulDiv255Ceil with SkMulDiv255Ceiling.
41973
41974        No new tests, no change in behaviour.
41975
41976        * platform/graphics/skia/ImageBufferSkia.cpp:
41977        (WebCore::putImageData):
41978
419792010-12-13  Gavin Peters  <gavinp@chromium.org>
41980
41981        Reviewed by Adam Barth.
41982
41983        Re land Purpose after bad merge
41984        https://bugs.webkit.org/show_bug.cgi?id=51000
41985
41986        * loader/loader.cpp:
41987        (WebCore::Loader::load):
41988
419892010-12-13  Dan Bernstein  <mitz@apple.com>
41990
41991        Reviewed by Simon Fraser.
41992
41993        <rdar://problem/8763696> REGRESSION (r72173): Fallback fonts’ vertical metrics aren’t accounted for even when line-height is unspecified
41994        https://bugs.webkit.org/show_bug.cgi?id=50979
41995
41996        Many test results updated.
41997
41998        * rendering/InlineFlowBox.cpp: Reinstated the code that updates affectsAscent and
41999        affectsDescent in the used-fonts code path. Renamed variables for clarity. Added
42000        a check whether usedFonts is empty (which it might be if there is glyph overflow
42001        but no fallback) as an optimization.
42002
420032010-12-13  Mark Rowe  <mrowe@apple.com>
42004
42005        Rubber-stamped by Jon Honeycutt.
42006
42007        Remove unnecessary include of Switch module.
42008
42009        There are no switch statements in this file.
42010
42011        * dom/make_names.pl:
42012
420132010-12-13  Emil Eklund  <eae@chromium.org>
42014
42015        Reviewed by Dimitri Glazkov.
42016
42017        Change SelectionController::setFocusedNodeIfNeeded to traverse the DOM
42018        tree instead of the render tree.
42019        https://bugs.webkit.org/show_bug.cgi?id=50989
42020
42021        * editing/SelectionController.cpp:
42022        (WebCore::SelectionController::setFocusedNodeIfNeeded):
42023        Walk up DOM/hosted tree rather than render tree and remove FIXME comment
42024        that does't apply (SelectionController and EventHandler needs different
42025        checks).
42026
420272010-12-13  Chris Fleizach  <cfleizach@apple.com>
42028
42029        Reviewed by Beth Dakin.
42030
42031        AX: aria-invalid should be supported.
42032        https://bugs.webkit.org/show_bug.cgi?id=50573
42033
42034        Test: platform/mac/accessibility/aria-invalid.html
42035
42036        * accessibility/AXObjectCache.h:
42037        * accessibility/AccessibilityObject.cpp:
42038        (WebCore::AccessibilityObject::invalidStatus):
42039        * accessibility/AccessibilityObject.h:
42040        * accessibility/chromium/AXObjectCacheChromium.cpp
42041        (WebCore::AXObjectCache::postPlatformNotification):
42042        * accessibility/mac/AXObjectCacheMac.mm:
42043        (WebCore::AXObjectCache::postPlatformNotification):
42044        * accessibility/mac/AccessibilityObjectWrapper.mm:
42045        (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
42046        (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
42047        * dom/Element.cpp:
42048        (WebCore::Element::updateAfterAttributeChanged):
42049        * html/HTMLAttributeNames.in:
42050
420512010-12-13  Joone Hur  <joone@kldp.org>
42052
42053        Reviewed by Eric Seidel.
42054
42055        WebKit fails to compile when building with WML support enabled
42056        https://bugs.webkit.org/show_bug.cgi?id=42943
42057
42058        Use TextPosition instead of lineNumber() and columNumber().
42059
42060        No new tests are added, because this is just a build fix.
42061
42062        * dom/XMLDocumentParser.h: Make lineNumber() private.
42063        * wml/WMLErrorHandling.cpp:
42064        (WebCore::reportWMLError): Use TextPosition instead of lineNumber() and columnNumber().
42065
420662010-12-13  Chris Fleizach  <cfleizach@apple.com>
42067
42068        Reviewed by Beth Dakin.
42069
42070        AX: lists and list boxes need different attributes
42071        https://bugs.webkit.org/show_bug.cgi?id=50978
42072
42073        Separate out the attributes being returned for lists (<ul>) and listboxes (<select multiple>).
42074
42075        * accessibility/mac/AccessibilityObjectWrapper.mm:
42076        (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
42077
420782010-12-13  David Hyatt  <hyatt@apple.com>
42079
42080        Reviewed by Sam Weinig.
42081
42082        https://bugs.webkit.org/show_bug.cgi?id=50963
42083
42084        REGRESSION: Scrolling nested iframes is messed up on platforms that use the cross-platform ScrollView.
42085       
42086        The selfClipRect and childrenClipRect methods of RenderLayer were incorrectly relying on the bounding box
42087        of the root layer.  This bounding box was only coincidentally incorporating overflow as part of the 
42088        RenderLayer's bounds.  Since I fixed the RenderLayer bounds to not include layout overflow any longer,
42089        this check is now exposed as incorrect.  Use the entire document size  when computing layer clip
42090        rects.
42091
42092        * rendering/RenderLayer.cpp:
42093        (WebCore::RenderLayer::childrenClipRect):
42094        (WebCore::RenderLayer::selfClipRect):
42095        * rendering/RenderView.h:
42096        (WebCore::RenderView::documentRect):
42097
420982010-12-13  Simon Fraser  <simon.fraser@apple.com>
42099
42100        GraphicsContextPrivate.h was removed. Nuke it from the project.
42101        
42102        * WebCore.xcodeproj/project.pbxproj:
42103
421042010-12-13  Eric Carlson  <eric.carlson@apple.com>
42105
42106        Reviewed by Antti Koivisto.
42107
42108        HTMLMediaElement::endedPlayback should not return true if duration is zero
42109        https://bugs.webkit.org/show_bug.cgi?id=50962
42110
42111        (WebCore::HTMLMediaElement::endedPlayback): Don't return true when duration is zero because a 
42112        media file can't play if it has no duration, therefore it can't have ended playback.
42113
421142010-12-13  Brent Fulgham  <bfulgham@webkit.org>
42115
42116        Unreviewed build fix after r73840.
42117
42118        * WebCore.vcproj/WebCoreGeneratedCairo.vsprops: Update property file
42119        to pass three arguments to build-generated-files.sh, just like
42120        the official Apple port.
42121
421222010-12-13  David Hyatt  <hyatt@apple.com>
42123
42124        Reviewed by Adam Roben.
42125
42126        Make sure the defaultSpaceEventHandler does logical scrolling.
42127
42128        * page/EventHandler.cpp:
42129        (WebCore::EventHandler::defaultSpaceEventHandler):
42130
421312010-12-13  Matthew Delaney  <mdelaney@apple.com>
42132
42133        Reviewed by Simon Fraser.
42134
42135        https://bugs.webkit.org/show_bug.cgi?id=50591 Adopt new CG API for canvas
42136
42137        No new tests necessary.
42138
42139        * Configurations/WebCore.xcconfig: Added IOSurface framework link.
42140        * html/canvas/CanvasRenderingContext2D.cpp: Used IOSurface def. instead.
42141        * platform/graphics/ImageBuffer.h: Pushed renderingMode down into ctor.
42142        * platform/graphics/cairo/ImageBufferCairo.cpp:
42143        * platform/graphics/cg/ImageBufferCG.cpp:
42144        * platform/graphics/haiku/ImageBufferHaiku.cpp:
42145        * platform/graphics/qt/ImageBufferQt.cpp:
42146        * platform/graphics/skia/ImageBufferSkia.cpp:
42147        * platform/graphics/wince/ImageBufferWinCE.cpp:
42148        * platform/graphics/wx/ImageBufferWx.cpp:
42149
421502010-12-13  Sheriff Bot  <webkit.review.bot@gmail.com>
42151
42152        Unreviewed, rolling out r73923.
42153        http://trac.webkit.org/changeset/73923
42154        https://bugs.webkit.org/show_bug.cgi?id=50944
42155
42156        Broke editing/selection/extend-selection-home-end.html on non-
42157        mac platforms. Looks like a real bug. (Requested by ojan on
42158        #webkit).
42159
42160        * editing/SelectionController.cpp:
42161        (WebCore::SelectionController::positionForPlatform):
42162        (WebCore::SelectionController::modifyExtendingForward):
42163
421642010-12-13  David Hyatt  <hyatt@apple.com>
42165
42166        Reviewed by Sam Weinig.
42167
42168        https://bugs.webkit.org/show_bug.cgi?id=48545, Home/End, PageUp/PageDwn should respect writing-mode. 
42169
42170        Add logical scrolling to WebCore.  It basically mirrors physical scrolling but works in abstract logical
42171        directions and only converts to physical when it's time to attempt the scroll.
42172        
42173        Also fixed bugs in scrollRecursively and logicalScrollRecursively where overflow sections in containing
42174        frames got skipped over.
42175        
42176        Made the resetting of the inline axis scroll position on Home/End Mac-specific for overflow sections.
42177        
42178        * WebCore.exp.in:
42179        * page/EventHandler.cpp:
42180        (WebCore::EventHandler::logicalScrollOverflow):
42181        (WebCore::EventHandler::scrollRecursively):
42182        (WebCore::EventHandler::logicalScrollRecursively):
42183        * page/EventHandler.h:
42184        * page/FrameView.cpp:
42185        (WebCore::FrameView::isVerticalDocument):
42186        (WebCore::FrameView::isFlippedDocument):
42187        * page/FrameView.h:
42188        * platform/ScrollTypes.h:
42189        (WebCore::logicalToPhysical):
42190        * platform/ScrollView.cpp:
42191        (WebCore::ScrollView::scroll):
42192        (WebCore::ScrollView::logicalScroll):
42193        * platform/ScrollView.h:
42194        (WebCore::ScrollView::isVerticalDocument):
42195        (WebCore::ScrollView::isFlippedDocument):
42196        * rendering/RenderBox.cpp:
42197        (WebCore::RenderBox::logicalScroll):
42198        * rendering/RenderBox.h:
42199        * rendering/RenderLayer.cpp:
42200        (WebCore::RenderLayer::scroll):
42201        * rendering/RenderListBox.cpp:
42202        (WebCore::RenderListBox::logicalScroll):
42203        * rendering/RenderListBox.h:
42204        * rendering/RenderTextControlSingleLine.cpp:
42205        (WebCore::RenderTextControlSingleLine::logicalScroll):
42206        * rendering/RenderTextControlSingleLine.h:
42207
422082010-12-13  Yury Semikhatsky  <yurys@chromium.org>
42209
42210        Unreviewed. Rollout 73914, 73915, 73917, 73920 and 73921.
42211
42212        REGRESSION(r73914): "Chromium page_cycler_morejs fails" (Requested by yurys on #webkit).
42213        https://bugs.webkit.org/show_bug.cgi?id=50950
42214
42215        * Android.jscbindings.mk:
42216        * CMakeLists.txt:
42217        * GNUmakefile.am:
42218        * WebCore.gypi:
42219        * WebCore.order:
42220        * WebCore.pro:
42221        * WebCore.vcproj/WebCore.vcproj:
42222        * WebCore.xcodeproj/project.pbxproj:
42223        * bindings/js/JSBindingsAllInOne.cpp:
42224        * bindings/js/JSDOMBinding.cpp:
42225        (WebCore::reportException):
42226        * bindings/js/JSWorkerContextErrorHandler.cpp: Renamed from WebCore/bindings/js/JSErrorHandler.cpp.
42227        (WebCore::JSWorkerContextErrorHandler::JSWorkerContextErrorHandler):
42228        (WebCore::JSWorkerContextErrorHandler::~JSWorkerContextErrorHandler):
42229        (WebCore::JSWorkerContextErrorHandler::handleEvent):
42230        * bindings/js/JSWorkerContextErrorHandler.h: Renamed from WebCore/bindings/js/JSErrorHandler.h.
42231        (WebCore::JSWorkerContextErrorHandler::create):
42232        (WebCore::createJSWorkerContextErrorHandler):
42233        * bindings/scripts/CodeGeneratorJS.pm:
42234        * bindings/scripts/CodeGeneratorV8.pm:
42235        * bindings/v8/V8ConsoleMessage.cpp:
42236        (WebCore::V8ConsoleMessage::dispatchNow):
42237        (WebCore::V8ConsoleMessage::handler):
42238        * bindings/v8/V8ConsoleMessage.h:
42239        * bindings/v8/V8WindowErrorHandler.cpp: Removed.
42240        * bindings/v8/V8WindowErrorHandler.h: Removed.
42241        * bindings/v8/WorkerContextExecutionProxy.cpp:
42242        (WebCore::v8MessageHandler):
42243        * bindings/v8/WorkerScriptController.cpp:
42244        (WebCore::WorkerScriptController::evaluate):
42245        * dom/Document.cpp:
42246        (WebCore::Document::reportException):
42247        (WebCore::Document::addMessage):
42248        * dom/Document.h:
42249        * dom/ErrorEvent.cpp:
42250        * dom/ErrorEvent.h:
42251        * dom/Event.cpp:
42252        * dom/Event.h:
42253        * dom/ScriptExecutionContext.cpp:
42254        (WebCore::ScriptExecutionContext::ScriptExecutionContext):
42255        * dom/ScriptExecutionContext.h:
42256        * websockets/WebSocket.cpp:
42257        (WebCore::WebSocket::connect):
42258        * websockets/WebSocketChannel.cpp:
42259        (WebCore::WebSocketChannel::didOpen):
42260        (WebCore::WebSocketChannel::appendToBuffer):
42261        * websockets/WebSocketHandshake.cpp:
42262        (WebCore::WebSocketHandshake::readServerHandshake):
42263        (WebCore::WebSocketHandshake::readStatusLine):
42264        (WebCore::WebSocketHandshake::readHTTPHeaders):
42265        (WebCore::WebSocketHandshake::checkResponseHeaders):
42266        * workers/DefaultSharedWorkerRepository.cpp:
42267        (WebCore::postExceptionTask):
42268        (WebCore::postConsoleMessageTask):
42269        * workers/WorkerContext.cpp:
42270        (WebCore::WorkerContext::WorkerContext):
42271        (WebCore::WorkerContext::reportException):
42272        (WebCore::WorkerContext::addMessage):
42273        * workers/WorkerContext.h:
42274        * workers/WorkerMessagingProxy.cpp:
42275        (WebCore::WorkerExceptionTask::performTask):
42276        (WebCore::postConsoleMessageTask):
42277        * xml/XMLHttpRequest.cpp:
42278        (WebCore::reportUnsafeUsage):
42279
422802010-12-13  Antti Koivisto  <antti@apple.com>
42281
42282        Reviewed by Alexey Proskuryakov.
42283
42284        https://bugs.webkit.org/show_bug.cgi?id=50758
42285        <rdar://problem/8722094> 
42286        Defer loading print stylesheets
42287        
42288        - Make preload scanner skip stylesheets with non-screen media types.
42289        - Make it possible to specify non-default load priority from the client.
42290        - Use this mechanism to load print stylesheets using very low priority so they get loaded after everything else.
42291        - Move default priority code from Loader to CachedResource.
42292        - Move ResourceLoadScheduler::Priority enum to a separate file (as ResourceLoadPriority).
42293        - Add a way to make ResourceLoadScheduler load resources one at the time so the above functionality can be tested reliably.
42294
42295        Tests: http/tests/local/link-stylesheet-load-order-preload.html
42296               http/tests/local/link-stylesheet-load-order.html
42297
42298        * WebCore.exp.in:
42299        * WebCore.gypi:
42300        * WebCore.pro:
42301        * WebCore.vcproj/WebCore.vcproj:
42302        * WebCore.xcodeproj/project.pbxproj:
42303        * css/CSSImageValue.cpp:
42304        (WebCore::CSSImageValue::cachedImage):
42305        * html/HTMLLinkElement.cpp:
42306        (WebCore::HTMLLinkElement::process):
42307        * html/parser/HTMLPreloadScanner.cpp:
42308        (WebCore::HTMLNames::PreloadTask::PreloadTask):
42309        (WebCore::HTMLNames::PreloadTask::processAttributes):
42310        (WebCore::HTMLNames::PreloadTask::relAttributeIsStyleSheet):
42311        (WebCore::HTMLNames::PreloadTask::linkMediaAttributeIsScreen):
42312        (WebCore::HTMLNames::PreloadTask::preload):
42313        * loader/DocumentThreadableLoader.cpp:
42314        (WebCore::DocumentThreadableLoader::loadRequest):
42315        * loader/ResourceLoadPriority.h: Added.
42316        * loader/ResourceLoadScheduler.cpp:
42317        (WebCore::ResourceLoadScheduler::ResourceLoadScheduler):
42318        (WebCore::ResourceLoadScheduler::scheduleSubresourceLoad):
42319        (WebCore::ResourceLoadScheduler::schedulePluginStreamLoad):
42320        (WebCore::ResourceLoadScheduler::scheduleLoad):
42321        (WebCore::ResourceLoadScheduler::servePendingRequests):
42322        (WebCore::ResourceLoadScheduler::HostInformation::~HostInformation):
42323        (WebCore::ResourceLoadScheduler::HostInformation::schedule):
42324        (WebCore::ResourceLoadScheduler::HostInformation::remove):
42325        (WebCore::ResourceLoadScheduler::HostInformation::hasRequests):
42326        (WebCore::ResourceLoadScheduler::HostInformation::limitRequests):
42327        * loader/ResourceLoadScheduler.h:
42328        (WebCore::ResourceLoadScheduler::isSerialLoadingEnabled):
42329        (WebCore::ResourceLoadScheduler::setSerialLoadingEnabled):
42330        (WebCore::ResourceLoadScheduler::HostInformation::requestsPending):
42331        * loader/cache/CachedResource.cpp:
42332        (WebCore::defaultPriorityForResourceType):
42333        (WebCore::CachedResource::CachedResource):
42334        * loader/cache/CachedResource.h:
42335        (WebCore::CachedResource::loadPriority):
42336        (WebCore::CachedResource::setLoadPriority):
42337        * loader/cache/CachedResourceLoader.cpp:
42338        (WebCore::CachedResourceLoader::requestCSSStyleSheet):
42339        (WebCore::CachedResourceLoader::requestResource):
42340        (WebCore::CachedResourceLoader::requestPreload):
42341        * loader/cache/CachedResourceLoader.h:
42342        * loader/cache/MemoryCache.cpp:
42343        (WebCore::MemoryCache::requestResource):
42344        * loader/cache/MemoryCache.h:
42345        * loader/loader.cpp:
42346        (WebCore::Loader::load):
42347
423482010-12-13  Justin Schuh  <jschuh@chromium.org>
42349
42350        Reviewed by Dimitri Glazkov.
42351
42352        Build fix for r73927
42353        https://bugs.webkit.org/show_bug.cgi?id=50946
42354
42355        Reverting CSSCanvasValue::canvasDestroyed to its code before r73927
42356        because it's breaking the build and I changed it only because it
42357        appeared redunudant after r73927.
42358
42359        No behavior changed so no new tests needed.
42360
42361        * css/CSSCanvasValue.cpp:
42362        (WebCore::CSSCanvasValue::canvasDestroyed):
42363
423642010-12-13  Matthew Delaney  <mdelaney@apple.com>
42365
42366        Reviewed by nobody, build fix.
42367
42368        Unlinking IOSurface framework from xcodeproj.
42369
42370        * WebCore.xcodeproj/project.pbxproj:
42371
423722010-12-13  Justin Schuh  <jschuh@chromium.org>
42373
42374        Reviewed by Dimitri Glazkov.
42375
42376        HTMLCanvasElement should handle multiple observers.
42377        https://bugs.webkit.org/show_bug.cgi?id=50899
42378
42379        Test: fast/canvas/canvas-bg-multiple-removal.html
42380
42381        * css/CSSCanvasValue.cpp:
42382        (WebCore::CSSCanvasValue::~CSSCanvasValue):
42383        (WebCore::CSSCanvasValue::canvasDestroyed):
42384        (WebCore::CSSCanvasValue::element):
42385        * html/HTMLCanvasElement.cpp:
42386        (WebCore::HTMLCanvasElement::HTMLCanvasElement):
42387        (WebCore::HTMLCanvasElement::~HTMLCanvasElement):
42388        (WebCore::HTMLCanvasElement::addObserver):
42389        (WebCore::HTMLCanvasElement::removeObserver):
42390        (WebCore::HTMLCanvasElement::didDraw):
42391        (WebCore::HTMLCanvasElement::reset):
42392        * html/HTMLCanvasElement.h:
42393
423942010-12-13  Mihai Parparita  <mihaip@chromium.org>
42395
42396        Reviewed by Adam Barth.
42397
42398        [Chromium] canvas/philip/tests/2d.missingargs.html hangs on Snow Leopard
42399        https://bugs.webkit.org/show_bug.cgi?id=50841
42400
42401        Test: fast/canvas/strokeText-missing-args.html
42402        
42403        We didn't have isfinite checks for the x and y coordinates that are
42404        passed to strokeText/drawTextInternal (unlike all the other methods,
42405        which got checks in r50910 and r59447).
42406
42407        * html/canvas/CanvasRenderingContext2D.cpp:
42408        (WebCore::CanvasRenderingContext2D::drawTextInternal):
42409
424102010-12-09  Matthew Delaney  <mdelaney@apple.com>
42411
42412        Reviewed by Simon Fraser.
42413
42414        Adopt new CG API for canvas
42415        https://bugs.webkit.org/show_bug.cgi?id=50591
42416
42417        No new tests. All current layout tests are sufficient.
42418
42419        * html/HTMLCanvasElement.cpp: Add in accelerateRendering flag for imagebuffer creation.
42420        * html/canvas/CanvasRenderingContext2D.cpp:
42421        (WebCore::CanvasRenderingContext2D::isAccelerated): Always return true if using CA on new platforms.
42422        (WebCore::CanvasRenderingContext2D::drawTextInternal): Use accelerateRendering for imagebuffer.
42423        * platform/graphics/ImageBuffer.h:
42424        (WebCore::ImageBuffer::create): Plumb through new flag.
42425        * platform/graphics/cairo/ImageBufferCairo.cpp: Update method sig.
42426        * platform/graphics/cg/ImageBufferCG.cpp: Switch off of accelerateRendering flag for new accelerated paths.
42427        * platform/graphics/cg/ImageBufferData.h: Add in surface ref
42428        * platform/graphics/haiku/ImageBufferHaiku.cpp: Update method sig.
42429        * platform/graphics/qt/ImageBufferQt.cpp: ^^
42430        * platform/graphics/skia/ImageBufferSkia.cpp: ^^
42431        * platform/graphics/wince/ImageBufferWinCE.cpp: ^^
42432        * platform/graphics/wx/ImageBufferWx.cpp: ^^
42433        * platform/mac/WebCoreSystemInterface.h: Add new method sigs
42434        * platform/mac/WebCoreSystemInterface.mm: ^^
42435        * rendering/RenderLayerBacking.cpp:
42436        * rendering/RenderLayerCompositor.cpp: Set acceleratesDrawing for canvas backings.
42437
424382010-12-13  Benjamin Kalman  <kalman@chromium.org>
42439
42440        Reviewed by Ojan Vafai.
42441
42442        Shift-End does not select to the end of the line
42443        https://bugs.webkit.org/show_bug.cgi?id=50610
42444
42445        Test: editing/selection/extend-to-line-boundary.html
42446
42447        * editing/SelectionController.cpp:
42448        (WebCore::SelectionController::positionForPlatform): Use visibleStart/visibleEnd rather than
42449        start/end.
42450        (WebCore::SelectionController::modifyExtendingForward):
42451
424522010-12-13  Adam Roben  <aroben@apple.com>
42453
42454        Windows build fix after r73914
42455
42456        * WebCore.vcproj/WebCore.vcproj: Fix malformed XML.
42457
424582010-12-13  Yury Semikhatsky  <yurys@chromium.org>
42459
42460        Unreviewed. Qt build fix.
42461
42462        * dom/ScriptExecutionContext.cpp:
42463        (WebCore::ScriptExecutionContext::ScriptExecutionContext):
42464        * dom/ScriptExecutionContext.h:
42465
424662010-12-13  Mario Sanchez Prada  <msanchez@igalia.com>
42467
42468        Reviewed by Xan Lopez.
42469
42470        [Gtk] Additional support is needed for caret browsing
42471        https://bugs.webkit.org/show_bug.cgi?id=25526
42472
42473        Enable "MoveTo{Beginninng|End}OfDocument" commands when caret
42474        browsing is enabled.
42475
42476        This change impacts the GTK-port only as caret browsing is a
42477        feature only used in that platform so far.
42478
42479        Test: platform/gtk/editing/selection/caret-mode-document-begin-end.html
42480
42481        * editing/EditorCommand.cpp:
42482        (WebCore::createCommandMap): Enable the commads when in caret browsing.
42483
424842010-12-13  Yury Semikhatsky  <yurys@chromium.org>
42485
42486        Unreviewed. Qt build fix.
42487
42488        * dom/Event.cpp:
42489        (WebCore::Event::isErrorEvent):
42490        * dom/Event.h: remove ENABLE(WORKERS) guard since ErrorEvent is now used not
42491        only in workers.
42492
424932010-12-13  Ilya Tikhonovsky  <loislo@chromium.org>
42494
42495        Reviewed by Yury Semikhatsky.
42496
42497        Web Inspector: Protocol cleanup task. Assign domain attribute to Resources and Debugger specific functions.
42498
42499        Debugger and Resources related notification functions of Inspector.idl were
42500        marked as such with help of "domain" attribute. The other changes in js files
42501        are reflecting this change. Some wrappers in WebInspector namespace were dropped,
42502        the others were moved to DebuggerModel class.
42503
42504        https://bugs.webkit.org/show_bug.cgi?id=50906
42505
42506        * inspector/Inspector.idl:
42507        * inspector/InspectorDebuggerAgent.cpp:
42508        (WebCore::InspectorDebuggerAgent::didParseSource):
42509        * inspector/InspectorProfilerAgent.cpp:
42510        (WebCore::InspectorProfilerAgent::resetState):
42511        * inspector/front-end/DOMAgent.js:
42512        (WebInspector.DOMAgent.prototype.didCommitLoad):
42513        * inspector/front-end/Database.js:
42514        * inspector/front-end/DebuggerModel.js:
42515        (WebInspector.DebuggerModel):
42516        (WebInspector.DebuggerModel.prototype.pausedScript):
42517        (WebInspector.DebuggerModel.prototype.resumedScript):
42518        (WebInspector.DebuggerModel.prototype.attachDebuggerWhenShown):
42519        (WebInspector.DebuggerModel.prototype.debuggerWasEnabled):
42520        (WebInspector.DebuggerModel.prototype.debuggerWasDisabled):
42521        (WebInspector.DebuggerModel.prototype.parsedScriptSource):
42522        (WebInspector.DebuggerModel.prototype.failedToParseScriptSource):
42523        (WebInspector.DebuggerModel.prototype.didCreateWorker):
42524        (WebInspector.DebuggerModel.prototype.didDestroyWorker):
42525        * inspector/front-end/ProfilesPanel.js:
42526        (WebInspector.ProfilesPanel):
42527        (WebInspector.ProfilesPanel.prototype.updateMainViewWidth):
42528        (WebInspector.ProfilesPanel.prototype.setRecordingProfile):
42529        * inspector/front-end/ResourceManager.js:
42530        (WebInspector.ResourceManager):
42531        (WebInspector.ResourceManager.prototype._unbindResourceURL):
42532        (WebInspector.ResourceManager.prototype.updateDOMStorage):
42533        (WebInspector.ResourceManager.prototype.updateApplicationCacheStatus):
42534        (WebInspector.ResourceManager.prototype.didGetFileSystemPath):
42535        (WebInspector.ResourceManager.prototype.didGetFileSystemError):
42536        (WebInspector.ResourceManager.prototype.didGetFileSystemDisabled):
42537        (WebInspector.ResourceManager.prototype.updateNetworkState):
42538        (WebInspector.ResourceManager.prototype.addDOMStorage):
42539        (WebInspector.ResourceManager.prototype.selectDOMStorage):
42540        (WebInspector.ResourceManager.prototype.addDatabase):
42541        (WebInspector.ResourceManager.prototype.selectDatabase):
42542        (WebInspector.ResourceManager.prototype.sqlTransactionSucceeded):
42543        (WebInspector.ResourceManager.prototype.sqlTransactionFailed):
42544        * inspector/front-end/WorkersSidebarPane.js:
42545        (WebInspector.Worker):
42546        * inspector/front-end/inspector.js:
42547
425482010-12-13  Yury Semikhatsky  <yurys@chromium.org>
42549
42550        Unreviewed. Qt build fix. 
42551
42552        * dom/ErrorEvent.cpp:
42553        * dom/ErrorEvent.h: remove ENABLE(WORKERS) guard since ErrorEvent is now used not
42554        only in workers.
42555
425562010-12-13  Yury Semikhatsky  <yurys@chromium.org>
42557
42558        Reviewed by Adam Barth.
42559
42560        WebCore doesn't fire window.onerror event when uncaught JavaScript exceptions are thrown
42561        https://bugs.webkit.org/show_bug.cgi?id=8519
42562
42563        Uncaught exceptions are propagated to window.onerror hander if one is present.
42564        The handler is expected to be a function accepting three arguments: error message,
42565        resource url and line number where the exception occured.
42566
42567        It was decided to dispatch ErrorEvent to all listeners/handlers no matter if they
42568        were created in the same isolated world where the exception occured or not.
42569
42570        Tests: fast/events/window-onerror1.html
42571               fast/events/window-onerror10.html
42572               fast/events/window-onerror11.html
42573               fast/events/window-onerror2.html
42574               fast/events/window-onerror3.html
42575               fast/events/window-onerror4.html
42576               fast/events/window-onerror5.html
42577               fast/events/window-onerror6.html
42578               fast/events/window-onerror7.html
42579               fast/events/window-onerror8.html
42580               fast/events/window-onerror9.html
42581               http/tests/security/window-onerror-exception-in-iframe.html
42582               userscripts/window-onerror-for-isolated-world-1.html
42583               userscripts/window-onerror-for-isolated-world-2.html
42584
42585        * Android.jscbindings.mk:
42586        * CMakeLists.txt:
42587        * GNUmakefile.am:
42588        * WebCore.gypi:
42589        * WebCore.order:
42590        * WebCore.pro:
42591        * WebCore.vcproj/WebCore.vcproj:
42592        * WebCore.xcodeproj/project.pbxproj:
42593        * bindings/js/JSBindingsAllInOne.cpp:
42594        * bindings/js/JSDOMBinding.cpp:
42595        (WebCore::reportException):
42596        * bindings/js/JSErrorHandler.cpp: Renamed from WebCore/bindings/js/JSWorkerContextErrorHandler.cpp.
42597        (WebCore::JSErrorHandler::JSErrorHandler):
42598        (WebCore::JSErrorHandler::~JSErrorHandler):
42599        (WebCore::JSErrorHandler::handleEvent):
42600        * bindings/js/JSErrorHandler.h: Copied from WebCore/bindings/js/JSWorkerContextErrorHandler.h.
42601        (WebCore::JSErrorHandler::create):
42602        (WebCore::createJSErrorHandler):
42603        * bindings/scripts/CodeGeneratorJS.pm:
42604        * bindings/scripts/CodeGeneratorV8.pm:
42605        * bindings/v8/V8ConsoleMessage.cpp:
42606        (WebCore::V8ConsoleMessage::dispatchNow):
42607        (WebCore::V8ConsoleMessage::handler): the method was changed to use generic WebCore exception
42608        reporting mechanism which is also used by JSC bindings.
42609        * bindings/v8/V8ConsoleMessage.h:
42610        * bindings/v8/V8WindowErrorHandler.cpp: Copied from WebCore/bindings/js/JSWorkerContextErrorHandler.h.
42611        (WebCore::V8WindowErrorHandler::V8WindowErrorHandler):
42612        (WebCore::V8WindowErrorHandler::callListenerFunction):
42613        * bindings/v8/V8WindowErrorHandler.h: Renamed from WebCore/bindings/js/JSWorkerContextErrorHandler.h.
42614        (WebCore::V8WindowErrorHandler::create):
42615        * bindings/v8/WorkerContextExecutionProxy.cpp:
42616        (WebCore::v8MessageHandler):
42617        * bindings/v8/WorkerScriptController.cpp:
42618        (WebCore::WorkerScriptController::evaluate):
42619        * dom/Document.cpp:
42620        (WebCore::Document::errorEventTarget):
42621        (WebCore::Document::logExceptionToConsole):
42622        * dom/Document.h:
42623        * dom/ScriptExecutionContext.cpp:
42624        (WebCore::ScriptExecutionContext::PendingException::PendingException):
42625        (WebCore::ScriptExecutionContext::ScriptExecutionContext):
42626        (WebCore::ScriptExecutionContext::reportException): this method is not virtual anymore to
42627        ensure that error event dispatching algorithm is the same in WorkerContext and in Document.
42628        (WebCore::ScriptExecutionContext::dispatchErrorEvent):
42629        * dom/ScriptExecutionContext.h:
42630        * workers/DefaultSharedWorkerRepository.cpp:
42631        (WebCore::postExceptionTask):
42632        * workers/WorkerContext.cpp:
42633        (WebCore::WorkerContext::WorkerContext):
42634        (WebCore::WorkerContext::errorEventTarget):
42635        (WebCore::WorkerContext::logExceptionToConsole):
42636        * workers/WorkerContext.h:
42637        * workers/WorkerMessagingProxy.cpp:
42638        (WebCore::WorkerExceptionTask::performTask):
42639
426402010-12-08  Alexander Pavlov  <apavlov@chromium.org>
42641
42642        Reviewed by Joseph Pecoraro.
42643
42644        Web Inspector: Enable CSS property editing name/value-wise (like Firebug does)
42645        https://bugs.webkit.org/show_bug.cgi?id=50565
42646
42647        For CSS property editing, the property name and value have become two fields separated
42648        by a colon (rather than one field containing the full property text.) A user can tab
42649        between the name and value fields forward and backward. A colon typed in the name field
42650        and a semicolon in the value field (unless found inside a string) act as a Tab and focus
42651        the next editable field (while applying the entire property value.)
42652
42653        Now a user can tab through all editable styles for an element, even across rule boundaries.
42654
42655        * inspector/front-end/BreakpointsSidebarPane.js:
42656        (WebInspector.XHRBreakpointsSidebarPane.prototype._startEditingBreakpoint):
42657        * inspector/front-end/DataGrid.js:
42658        (WebInspector.DataGrid.prototype._startEditingColumnOfDataGridNode):
42659        (WebInspector.DataGrid.prototype._startEditing):
42660        * inspector/front-end/ElementsTreeOutline.js:
42661        (WebInspector.ElementsTreeElement.prototype._startEditingAttribute):
42662        (WebInspector.ElementsTreeElement.prototype._startEditingTextNode):
42663        (WebInspector.ElementsTreeElement.prototype._startEditingTagName):
42664        (WebInspector.ElementsTreeElement.prototype._startEditingAsHTML):
42665        * inspector/front-end/MetricsSidebarPane.js:
42666        (WebInspector.MetricsSidebarPane.prototype.startEditing):
42667        * inspector/front-end/ObjectPropertiesSection.js:
42668        (WebInspector.ObjectPropertyTreeElement.prototype.startEditing):
42669        * inspector/front-end/Section.js:
42670        (WebInspector.Section):
42671        (WebInspector.Section.prototype.get subtitleAsTextForTest):
42672        (WebInspector.Section.prototype.get nextSibling):
42673        (WebInspector.Section.prototype.get previousSibling):
42674        * inspector/front-end/SourceFrame.js:
42675        (WebInspector.SourceFrame.prototype._editBreakpointCondition):
42676        * inspector/front-end/StylesSidebarPane.js:
42677        (WebInspector.StylePropertiesSection.prototype.nextEditableSibling):
42678        (WebInspector.StylePropertiesSection.prototype.previousEditableSibling):
42679        (WebInspector.StylePropertiesSection.prototype.addNewBlankProperty):
42680        (WebInspector.StylePropertiesSection.prototype.startEditingSelector):
42681        (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted):
42682        (WebInspector.StylePropertyTreeElement.prototype.):
42683        (WebInspector.StylePropertyTreeElement.prototype):
42684        * inspector/front-end/TextViewer.js:
42685        (WebInspector.TextViewer.prototype._handleDoubleClick):
42686        * inspector/front-end/WatchExpressionsSidebarPane.js:
42687        (WebInspector.WatchExpressionTreeElement.prototype.startEditing):
42688        * inspector/front-end/inspector.css:
42689        (.child-editing):
42690        * inspector/front-end/inspector.js:
42691        (WebInspector.startEditing.defaultFinishHandler):
42692        (WebInspector.startEditing):
42693        * inspector/front-end/treeoutline.js:
42694        (TreeElement.prototype.select):
42695
426962010-12-13  Yael Aharon  <yael.aharon@nokia.com>
42697
42698        Unreviewed.
42699
42700        Added svn propery eol-style. Patches to this file fail to apply on Windows EWS bot.
42701
42702        * accessibility/AccessibilityAllInOne.cpp: Added property svn:eol-style.
42703
427042010-12-13  Sheriff Bot  <webkit.review.bot@gmail.com>
42705
42706        Unreviewed, rolling out r73898.
42707        http://trac.webkit.org/changeset/73898
42708        https://bugs.webkit.org/show_bug.cgi?id=50919
42709
42710        FileSystem and Database API's were broken (Requested by loislo
42711        on #webkit).
42712
42713        * inspector/Inspector.idl:
42714        * inspector/InspectorDebuggerAgent.cpp:
42715        (WebCore::InspectorDebuggerAgent::didParseSource):
42716        * inspector/InspectorProfilerAgent.cpp:
42717        (WebCore::InspectorProfilerAgent::resetState):
42718        * inspector/front-end/DOMAgent.js:
42719        * inspector/front-end/DebuggerModel.js:
42720        (WebInspector.DebuggerModel):
42721        (WebInspector.DebuggerModel.prototype.debuggerPaused):
42722        (WebInspector.DebuggerModel.prototype.debuggerResumed):
42723        * inspector/front-end/ProfilesPanel.js:
42724        (WebInspector.ProfilesPanel):
42725        (WebInspector.ProfilesPanel.prototype.updateMainViewWidth):
42726        * inspector/front-end/ResourceManager.js:
42727        (WebInspector.ResourceManager):
42728        (WebInspector.ResourceManager.prototype._registerNotifyHandlers):
42729        (WebInspector.ResourceManager.prototype._unbindResourceURL):
42730        * inspector/front-end/inspector.js:
42731        (WebInspector.addDatabase):
42732        (WebInspector.addDOMStorage):
42733        (WebInspector.updateDOMStorage):
42734        (WebInspector.updateApplicationCacheStatus):
42735        (WebInspector.didGetFileSystemPath):
42736        (WebInspector.didGetFileSystemError):
42737        (WebInspector.didGetFileSystemDisabled):
42738        (WebInspector.updateNetworkState):
42739        (WebInspector.attachDebuggerWhenShown):
42740        (WebInspector.debuggerWasEnabled):
42741        (WebInspector.debuggerWasDisabled):
42742        (WebInspector.profilerWasEnabled):
42743        (WebInspector.profilerWasDisabled):
42744        (WebInspector.parsedScriptSource):
42745        (WebInspector.restoredBreakpoint):
42746        (WebInspector.failedToParseScriptSource):
42747        (WebInspector.pausedScript):
42748        (WebInspector.resumedScript):
42749        (WebInspector.resetProfilesPanel):
42750        (WebInspector.didCommitLoad):
42751        (WebInspector.addProfileHeader):
42752        (WebInspector.setRecordingProfile):
42753        (WebInspector.addHeapSnapshotChunk):
42754        (WebInspector.finishHeapSnapshot):
42755
427562010-12-13  Anton Muhin  <antonm@chromium.org>
42757
42758        Reviewed by Pavel Feldman.
42759
42760        [v8] More CSS wrappers GC work: keep document's style sheets, style sheet and css rule lists' items in proper object groups
42761        https://bugs.webkit.org/show_bug.cgi?id=50828
42762
42763        * bindings/v8/DOMData.h:
42764        (WebCore::DOMData::WrapperMapObjectRemover::visitDOMWrapper):
42765        (WebCore::DOMData::removeObjectsFromWrapperMap):
42766        * bindings/v8/DOMDataStore.h:
42767        (WebCore::ChunkedTable::visit):
42768        (WebCore::ChunkedTable::visitEntries):
42769        (WebCore::DOMDataStore::IntrusiveDOMWrapperMap::visit):
42770        (WebCore::DOMDataStore::IntrusiveDOMWrapperMap::ChunkedTableTraits::visit):
42771        * bindings/v8/V8DOMMap.cpp:
42772        (WebCore::removeAllDOMObjectsInCurrentThread):
42773        (WebCore::visitDOMNodesInCurrentThread):
42774        (WebCore::visitDOMObjectsInCurrentThread):
42775        (WebCore::visitActiveDOMObjectsInCurrentThread):
42776        (WebCore::visitDOMSVGElementInstancesInCurrentThread):
42777        * bindings/v8/V8DOMMap.h:
42778        (WebCore::WeakReferenceMap::visit):
42779        * bindings/v8/V8GCController.cpp:
42780        (WebCore::DOMObjectVisitor::visitDOMWrapper):
42781        (WebCore::EnsureWeakDOMNodeVisitor::visitDOMWrapper):
42782        (WebCore::GCPrologueVisitor::visitDOMWrapper):
42783        (WebCore::NodeGrouperVisitor::visitDOMWrapper):
42784        (WebCore::NodeGrouperVisitor::applyGrouping):
42785        (WebCore::DOMObjectGrouperVisitor::visitDOMWrapper):
42786        (WebCore::GCEpilogueVisitor::visitDOMWrapper):
42787
427882010-12-13  Zoltan Herczeg  <zherczeg@webkit.org>
42789
42790        Unreviewed build fix for r73894.
42791
42792        SVGFEImage should also check its hasResult() in its apply().
42793
42794        * svg/graphics/filters/SVGFEImage.cpp:
42795        (WebCore::FEImage::apply):
42796
427972010-12-13  Ilya Tikhonovsky  <loislo@chromium.org>
42798
42799        Reviewed by Yury Semikhatsky.
42800
42801        Web Inspector: Protocol cleanup task. Assign domain attribute to Resources and Debugger specific functions.
42802
42803        Debugger and Resources related notification functions of Inspector.idl were
42804        marked as such with help of "domain" attribute. The other changes in js files
42805        are reflecting this change. Some wrappers in WebInspector namespace were dropped,
42806        the others were moved to DebuggerModel class.
42807
42808        https://bugs.webkit.org/show_bug.cgi?id=50906
42809
42810        * inspector/Inspector.idl:
42811        * inspector/InspectorDebuggerAgent.cpp:
42812        (WebCore::InspectorDebuggerAgent::didParseSource):
42813        * inspector/InspectorProfilerAgent.cpp:
42814        (WebCore::InspectorProfilerAgent::resetState):
42815        * inspector/front-end/DOMAgent.js:
42816        (WebInspector.DOMAgent.prototype.didCommitLoad):
42817        * inspector/front-end/DebuggerModel.js:
42818        (WebInspector.DebuggerModel):
42819        (WebInspector.DebuggerModel.prototype.pausedScript):
42820        (WebInspector.DebuggerModel.prototype.resumedScript):
42821        (WebInspector.DebuggerModel.prototype.attachDebuggerWhenShown):
42822        (WebInspector.DebuggerModel.prototype.debuggerWasEnabled):
42823        (WebInspector.DebuggerModel.prototype.debuggerWasDisabled):
42824        (WebInspector.DebuggerModel.prototype.parsedScriptSource):
42825        (WebInspector.DebuggerModel.prototype.failedToParseScriptSource):
42826        * inspector/front-end/ProfilesPanel.js:
42827        (WebInspector.ProfilesPanel):
42828        (WebInspector.ProfilesPanel.prototype.addHeapSnapshots):
42829        (WebInspector.ProfilesPanel.prototype.updateMainViewWidth):
42830        (WebInspector.ProfilesPanel.prototype.setRecordingProfile):
42831        * inspector/front-end/ResourceManager.js:
42832        (WebInspector.ResourceManager):
42833        (WebInspector.ResourceManager.prototype._unbindResourceURL):
42834        (WebInspector.ResourceManager.prototype.updateDOMStorage):
42835        (WebInspector.ResourceManager.prototype.updateApplicationCacheStatus):
42836        (WebInspector.ResourceManager.prototype.didGetFileSystemPath):
42837        (WebInspector.ResourceManager.prototype.didGetFileSystemError):
42838        (WebInspector.ResourceManager.prototype.didGetFileSystemDisabled):
42839        (WebInspector.ResourceManager.prototype.updateNetworkState):
42840        (WebInspector.ResourceManager.prototype.addDatabase):
42841        (WebInspector.ResourceManager.prototype.addDOMStorage):
42842        * inspector/front-end/inspector.js:
42843
428442010-12-13  Zoltan Herczeg  <zherczeg@webkit.org>
42845
42846        Reviewed by Dirk Schulze.
42847
42848        Better result passing in filter primitives
42849        https://bugs.webkit.org/show_bug.cgi?id=49907
42850
42851        SVG filter primitives can use the output of other filters. The
42852        input and output format of a filter can be a premultiplied or
42853        unmultiplied RGBA array, or an image buffer. All filter
42854        primitive results were converted to image buffers before, which
42855        could be an unecessary (and really costly) operation, if
42856        a filter expects its input in the same format as the output
42857        of the input filter primitive. This overhead is removed by
42858        this patch. All apply() methods are updated according to this
42859        new filter primitive interface.
42860
42861        Filters do not generate their results twice (or more) anymore,
42862        when their apply() called multiple times.
42863
42864        The existing tests cover this feature.
42865
42866        * manual-tests/svg-filter-animation.svg: Added.
42867        * platform/graphics/filters/FEBlend.cpp:
42868        (WebCore::FEBlend::apply):
42869        * platform/graphics/filters/FEColorMatrix.cpp:
42870        (WebCore::FEColorMatrix::apply):
42871        * platform/graphics/filters/FEComponentTransfer.cpp:
42872        (WebCore::FEComponentTransfer::apply):
42873        * platform/graphics/filters/FEComposite.cpp:
42874        (WebCore::FEComposite::apply):
42875        * platform/graphics/filters/FEConvolveMatrix.cpp:
42876        (WebCore::FEConvolveMatrix::apply):
42877        * platform/graphics/filters/FEDisplacementMap.cpp:
42878        (WebCore::FEDisplacementMap::apply):
42879        * platform/graphics/filters/FEFlood.cpp:
42880        (WebCore::FEFlood::apply):
42881        * platform/graphics/filters/FEGaussianBlur.cpp:
42882        (WebCore::FEGaussianBlur::apply):
42883        * platform/graphics/filters/FELighting.cpp:
42884        (WebCore::FELighting::apply):
42885        * platform/graphics/filters/FEMerge.cpp:
42886        (WebCore::FEMerge::apply):
42887        * platform/graphics/filters/FEMerge.h:
42888        * platform/graphics/filters/FEMorphology.cpp:
42889        (WebCore::FEMorphology::apply):
42890        * platform/graphics/filters/FEOffset.cpp:
42891        (WebCore::FEOffset::apply):
42892        * platform/graphics/filters/FETile.cpp:
42893        (WebCore::FETile::apply):
42894        * platform/graphics/filters/FETurbulence.cpp:
42895        (WebCore::FETurbulence::apply):
42896        * platform/graphics/filters/FilterEffect.cpp:
42897        (WebCore::FilterEffect::requestedRegionOfInputImageData):
42898        (WebCore::FilterEffect::asImageBuffer):
42899        (WebCore::FilterEffect::asUnmultipliedImage):
42900        (WebCore::FilterEffect::asPremultipliedImage):
42901        (WebCore::FilterEffect::copyImageBytes):
42902        (WebCore::FilterEffect::copyUnmultipliedImage):
42903        (WebCore::FilterEffect::copyPremultipliedImage):
42904        (WebCore::FilterEffect::createImageBufferResult):
42905        (WebCore::FilterEffect::createUnmultipliedImageResult):
42906        (WebCore::FilterEffect::createPremultipliedImageResult):
42907        * platform/graphics/filters/FilterEffect.h:
42908        (WebCore::FilterEffect::hasResult):
42909        * platform/graphics/filters/SourceAlpha.cpp:
42910        (WebCore::SourceAlpha::apply):
42911        * platform/graphics/filters/SourceGraphic.cpp:
42912        (WebCore::SourceGraphic::apply):
42913        * platform/graphics/filters/SourceGraphic.h:
42914        * rendering/RenderSVGResourceFilter.cpp:
42915        (WebCore::RenderSVGResourceFilter::postApplyResource):
42916        * svg/graphics/filters/SVGFEImage.cpp:
42917        (WebCore::FEImage::apply):
42918
429192010-12-13  Csaba Osztrogonác  <ossy@webkit.org>
42920
42921        Unreviewed.
42922
42923        * WebCore.pro: Remove non-existant loader/Request.h from build system.
42924
429252010-12-13  Noel Gordon  <noel.gordon@gmail.com>
42926
42927        Reviewed by Eric Seidel.
42928
42929        [chromium] Reduce canvas.toDataURL("image/jpeg") run-time cost by 10%
42930        https://bugs.webkit.org/show_bug.cgi?id=50804
42931
42932        Follow on from r73173, unroll the SkUnPreMultiply::PMColorToColor() call
42933        viz., compute the unpremultiplatcion in-place. This reduces the run-time
42934        cost of jpeg encoding by 10-15% for my image test set.
42935
42936        No new tests: canvas.toDataURL() is covered by existing tests.
42937
42938        * platform/image-encoders/skia/JPEGImageEncoder.cpp:
42939        (WebCore::preMultipliedBGRAtoRGB):
42940
429412010-12-13  Helder Correia  <helder@sencha.com>
42942
42943        Reviewed by Eric Seidel.
42944
42945        [Qt] StillImage::draw() should use ContextShadow
42946        https://bugs.webkit.org/show_bug.cgi?id=50849
42947
42948        The branch that checks for a shadow requirement in StillImage::draw()
42949        is executed when drawing a canvas onto a canvas with
42950        ctx1.drawImage(canvas2, x, y). The current implementation supports
42951        solid shadows only. And if transformations are present, the offset gets
42952        transformed as well. Thus, ContextShadow must be used instead in order
42953        to support blur and correct offset transformations.
42954
42955        Test: fast/canvas/canvas-draw-canvas-on-canvas-shadow.html
42956
42957        * platform/graphics/qt/StillImageQt.cpp:
42958        (WebCore::StillImage::draw):
42959
429602010-12-12  Jon Honeycutt  <jhoneycutt@apple.com>
42961
42962        Unreviewed build fix.
42963
42964        * editing/EditingAllInOne.cpp:
42965        Add new file to the all-in-one.
42966
429672010-12-12  Jon Honeycutt  <jhoneycutt@apple.com>
42968
42969        Unreviewed build fix.
42970
42971        * WebCore.vcproj/WebCore.vcproj:
42972        Remove accidentally-committed conflict marker.
42973
429742010-10-28  MORITA Hajime  <morrita@google.com>
42975
42976        Reviewed by Ojan Vafai.
42977
42978        spellcheck does not check pasted text
42979        https://bugs.webkit.org/show_bug.cgi?id=40092
42980
42981        - Introduced SpellChecker class to encapsulate asynchronous spell
42982          checker state: sequence id, requesting text and target node.
42983          This is also the first step to decompose spell-check related
42984          code to a separate class.
42985        - Added EditorClient::isAsynchronousSpellCheckingEnabled() 
42986          to use async spellcheck API on the platform.
42987          These APIs are touched by SpellChecker.
42988        - Used SpellChecker to check a pasted test. Text to check is
42989          collected from the subtree under the editingRoot.
42990        - Added Setting::m_asynchronousSpellCheckingEnabled to control
42991          async spell checking.
42992
42993        Test: editing/spelling/spellcheck-paste.html
42994
42995        * CMakeLists.txt:
42996        * GNUmakefile.am:
42997        * WebCore.exp.in:
42998        * WebCore.gypi:
42999        * WebCore.pro:
43000        * WebCore.vcproj/WebCore.vcproj:
43001        * WebCore.xcodeproj/project.pbxproj:
43002        * dom/DocumentMarkerController.cpp:
43003        (WebCore::DocumentMarkerController::showMarkers):
43004        (showDocumentMarkers):
43005        * dom/DocumentMarkerController.h:
43006        * dom/PositionIterator.cpp:
43007        (WebCore::PositionIterator::setOffsetInLeafNode):
43008        * dom/PositionIterator.h:
43009        * editing/Editor.cpp:
43010        (WebCore::Editor::replaceSelectionWithFragment):
43011        (WebCore::Editor::Editor):
43012        (WebCore::findFirstMarkable):
43013        (WebCore::Editor::selectionStartHasSpellingMarkerFor):
43014        * editing/Editor.h:
43015        (WebCore::Editor::spellChecker):
43016        * editing/SpellChecker.cpp: Added.
43017        (WebCore::SpellChecker::SpellChecker):
43018        (WebCore::SpellChecker::~SpellChecker):
43019        (WebCore::SpellChecker::initRequest):
43020        (WebCore::SpellChecker::clearRequest):
43021        (WebCore::SpellChecker::isAsynchronousEnabled):
43022        (WebCore::SpellChecker::canCheckAsynchronously):
43023        (WebCore::SpellChecker::isBusy):
43024        (WebCore::SpellChecker::isValid):
43025        (WebCore::SpellChecker::isCheckable):
43026        (WebCore::SpellChecker::requestCheckingFor):
43027        (WebCore::forwardIterator):
43028        (WebCore::SpellChecker::didCheck):
43029        * editing/SpellChecker.h: Added.
43030        (WebCore::SpellCheckingResult::SpellCheckingResult):
43031        (WebCore::SpellCheckingResult::type):
43032        (WebCore::SpellCheckingResult::location):
43033        (WebCore::SpellCheckingResult::length):
43034        * loader/EmptyClients.h:
43035        (WebCore::EmptyEditorClient::requestCheckingOfString):
43036        * page/EditorClient.h:
43037        * page/Settings.cpp:
43038        (WebCore::Settings::Settings):
43039        * page/Settings.h:
43040        (WebCore::Settings::setAsynchronousSpellCheckingEnabled):
43041        (WebCore::Settings::asynchronousSpellCheckingEnabled):
43042
430432010-12-09  Antonio Gomes  <agomes@rim.com>
43044
43045        Reviewed by Daniel Bates.
43046
43047        Spatial Navigation: code clean up (part II)
43048        https://bugs.webkit.org/show_bug.cgi?id=50666
43049
43050        No new tests needed.
43051
43052        * page/FocusController.cpp: Removed static declaration of updateFocusCandidateIfNeeded() from
43053        the top of FocusController.cpp, and added the 'static' keyword where the function is implemented;
43054        * page/SpatialNavigation.cpp: In FocusCandidate constructor, renamed 'n' to 'node', and added an assert to it;
43055        (WebCore::FocusCandidate::FocusCandidate):
43056        (WebCore::virtualRectForAreaElementAndDirection): Added an assert to 'node';
43057        * page/SpatialNavigation.h:I reordered the declaration of some methods in order to group related ones;
43058        Removed isScrollableContainerNode() function declaration since it is not used outside SpatialNavigation.cpp;
43059        And removed the declaration of isNodeDeepDescendantOfDocument() since it does not exist anymore.
43060
430612010-12-12  Philippe Normand  <pnormand@igalia.com>
43062
43063        Reviewed by Xan Lopez.
43064
43065        build-webkit --gtk --minimal fails
43066        https://bugs.webkit.org/show_bug.cgi?id=46267
43067
43068        No new tests, build fix only.
43069
43070        * GNUmakefile.am: Include some JS bindings generated headers in
43071        the build even if their corresponding feature is disabled. They
43072        are needed to make the DOM bindings build.
43073
430742010-12-12  Sam Magnuson  <smagnuso@gmail.com>
43075
43076        Reviewed by Eric Seidel.
43077
43078        [Qt] Compile with QT_NO_QUUID_STRING.
43079        https://bugs.webkit.org/show_bug.cgi?id=49745
43080
43081        * platform/UUID.cpp:
43082        (WebCore::createCanonicalUUIDString):
43083
430842010-12-12  Ragner Magalhaes  <ragner.magalhaes@openbossa.org>
43085
43086        Reviewed by Eric Seidel.
43087
43088        [Qt] Missing style for date pickers on Qt Mobile theme
43089        https://bugs.webkit.org/show_bug.cgi?id=50628
43090
43091        * css/themeQtMobile.css:
43092
430932010-12-11  Alice Liu  <alice.liu@apple.com>
43094
43095        Mac build fix.
43096
43097        * platform/network/mac/ResourceResponseMac.mm:
43098        (WebCore::ResourceResponse::platformLazyInit):
43099        Resolve string[0] ambiguity by passing 0U.
43100
431012010-12-11  Adam Barth  <abarth@webkit.org>
43102
43103        Reviewed by Sam Weinig.
43104
43105        [V8] Move to DOMWindow::setLocation
43106        https://bugs.webkit.org/show_bug.cgi?id=50876
43107
43108        Recently, JavaScriptCore moved to implementing setLocation in WebCore.
43109        This patch change V8 to use that common code path.  I haven't removed
43110        the old code path because it's still used for other things (like
43111        assigning window.location.href), but I'll move the rest over in a
43112        future patch.
43113
43114        * bindings/v8/custom/V8DOMWindowCustom.cpp:
43115        (WebCore::V8DOMWindow::locationAccessorSetter):
43116        * bindings/v8/specialization/V8BindingState.cpp:
43117        (WebCore::::getFirstWindow):
43118        * bindings/v8/specialization/V8BindingState.h:
43119
431202010-10-11  Diego Gonzalez  <diegohcg@webkit.org>
43121
43122        Reviewed by Kenneth Rohde Christiansen.
43123
43124        [Qt] Mock DeviceOrientation client for DRT
43125        https://bugs.webkit.org/show_bug.cgi?id=47490
43126
43127        * WebCore.pro:
43128
431292010-12-11  Joone Hur  <joone@kldp.org>
43130
43131        Reviewed by Alexey Proskuryakov.
43132
43133        enumeration value ‘ResponseTypeArrayBuffer’ not handled in switch
43134        https://bugs.webkit.org/show_bug.cgi?id=50871
43135
43136        Fix the warning which occurs when enumeration value is not handled in switch.
43137
43138        No new tests, no change in behavior.
43139
43140        * bindings/js/JSXMLHttpRequestCustom.cpp:
43141        (WebCore::JSXMLHttpRequest::response):
43142
431432010-12-11  Patrick Gansterer  <paroga@webkit.org>
43144
43145        Reviewed by Darin Adler.
43146
43147        Add an overload to makeString for Vector<char>
43148        https://bugs.webkit.org/show_bug.cgi?id=50123
43149
43150        This also contains a segfault fix for ImageBuffer::toDataURL of the Haiku port.
43151
43152        * platform/graphics/cg/ImageBufferCG.cpp:
43153        (WebCore::ImageBuffer::toDataURL):
43154        * platform/graphics/gtk/ImageBufferGtk.cpp:
43155        (WebCore::ImageBuffer::toDataURL):
43156        * platform/graphics/haiku/ImageBufferHaiku.cpp:
43157        (WebCore::ImageBuffer::toDataURL):
43158        * platform/graphics/skia/ImageBufferSkia.cpp:
43159        (WebCore::ImageBuffer::toDataURL):
43160
431612010-12-10  Alexey Proskuryakov  <ap@apple.com>
43162
43163        Mac build fix.
43164
43165        * platform/network/cf/ResourceResponseCFNet.cpp: (WebCore::ResourceResponse::platformLazyInit):
43166        Resolve string[0] ambiguity by passing 0U.
43167
431682010-12-10  Steve Falkenburg  <sfalken@apple.com>
43169
43170        Windows production build fix.
43171        
43172        Only the vsprops are indirected through WebKitVSPropsRedirectionDir, not the scripts in WebKitLibraries/win/tools/scripts.
43173
43174        * WebCore.vcproj/WebCoreGeneratedCommon.vsprops:
43175        * WebCore.vcproj/build-generated-files.sh:
43176
431772010-12-10  John Knottenbelt  <jknotten@chromium.org>
43178
43179        Reviewed by Eric Seidel.
43180
43181        Remove WebCore/platform/mac/GeolocationService.{h,mm}
43182        https://bugs.webkit.org/show_bug.cgi?id=50074
43183
43184        Remove unused non-client-based geolocation code.
43185
43186        * platform/mac/GeolocationServiceMac.h: Removed.
43187        * platform/mac/GeolocationServiceMac.mm: Removed.
43188
431892010-12-10  Alexey Proskuryakov  <ap@apple.com>
43190
43191        Reviewed by Darin Adler.
43192
43193        https://bugs.webkit.org/show_bug.cgi?id=46573
43194        <rdar://problem/8479389> REGRESSION: charset="utf-8" (with quotes) doesn't work
43195
43196        Test: http/tests/mime/quoted-charset.php
43197
43198        * platform/network/cf/ResourceResponseCFNet.cpp: (WebCore::ResourceResponse::platformLazyInit):
43199        * platform/network/mac/ResourceResponseMac.mm: (WebCore::ResourceResponse::platformLazyInit):
43200        Work around a CFNetwork issue, strip quotes if they are present.
43201
432022010-12-10  Vincent Scheib  <scheib@chromium.org>
43203
43204        Reviewed by James Robinson.
43205
43206        Shader::loadShader() must initialize variable passed to getShaderiv
43207        https://bugs.webkit.org/show_bug.cgi?id=50842
43208
43209        Test: fast/canvas/canvas-largedraws.html
43210
43211        * platform/graphics/gpu/Shader.cpp:
43212        (WebCore::Shader::loadShader):
43213
432142010-12-10  Vincent Scheib  <scheib@chromium.org>
43215
43216        Reviewed by James Robinson.
43217
43218        Texture::updateSubRect should pass IntRect by reference
43219        https://bugs.webkit.org/show_bug.cgi?id=50845
43220
43221        No test, changing to pass by ref.
43222
43223        * platform/graphics/gpu/Texture.cpp:
43224        (WebCore::Texture::updateSubRect):
43225        * platform/graphics/gpu/Texture.h:
43226
432272010-12-10  Darin Adler  <darin@apple.com>
43228
43229        Reviewed by Sam Weinig.
43230
43231        Move open and showModalDialog implementations from bindings into DOM class DOMWindow
43232        https://bugs.webkit.org/show_bug.cgi?id=50836
43233
43234        * bindings/js/JSDOMWindowCustom.cpp:
43235        (WebCore::JSDOMWindow::open): Removed most of the code and changed to call
43236        DOMWindow::open.
43237        (WebCore::DialogHandler::DialogHandler): Added. Object is used to handle the
43238        arguments and return value in showModalDialog.
43239        (WebCore::DialogHandler::dialogCreated): Ditto.
43240        (WebCore::DialogHandler::returnValue): Ditto.
43241        (WebCore::setUpDialog): Added. Function passed to showModalDialog that just
43242        casts pointer to DialogHandler can calls dialogCreated.
43243        (WebCore::JSDOMWindow::showModalDialog): Removed most of the code and changed
43244        to call DOMWindow::showModalDialog.
43245        (WebCore::JSDOMWindow::postMessage): Made style match the rest of the file by
43246        renaming local variables and getting rid of a needless ones.
43247
43248        * page/DOMWindow.cpp:
43249        (WebCore::DOMWindow::parseModalDialogFeatures): Moved body of this function
43250        to the WindowFeatures class.
43251        (WebCore::DOMWindow::allowPopUp): Renamed argument from activeFrame to firstFrame,
43252        because that's the frame we pass in here. Also added an overload so this can be
43253        called on a window rather than a frame.
43254        (WebCore::DOMWindow::setLocation): Renamed a couple variables so the names are
43255        the same as in open and showModalDialog. Factored the JavaScript security check
43256        into a new function named isInsecureScriptAccess.
43257        (WebCore::DOMWindow::isInsecureScriptAccess): Here is the new function.
43258        (WebCore::DOMWindow::createWindow): Added. Contains logic shared by open and
43259        showModalDialog just as the function named createWindow in JSDOMWindowCustom.cpp
43260        used to.
43261        (WebCore::DOMWindow::open): Added. Code from JSDOMWindowCustom without the
43262        JavaScript language binding part, and with a bit of refactoring to share code
43263        with the rest of the DOMWindow class.
43264        (WebCore::DOMWindow::showModalDialog): Ditto.
43265
43266        * page/DOMWindow.h: Moved conditional parts of the file into separate paragraphs
43267        in alphabetical order so they are not scattered thorugh the file. Removed redundant
43268        includes. Added some blank lines for clarity. Added an open function and a
43269        showModalDialog function. Added private createWindow and isInsecureScriptAccess
43270        functions.
43271
43272        * page/WindowFeatures.cpp:
43273        (WebCore::isWindowFeaturesSeparator): Renamed from isSeparator for clarity.
43274        (WebCore::WindowFeatures::WindowFeatures): Updated for name change. Used isEmpty
43275        instead of checking length. Added a new constructor for use when making dialogs,
43276        with code from the showModalDialog function.
43277        (WebCore::WindowFeatures::boolFeature): Use DialogFeaturesMap typedef.
43278        (WebCore::WindowFeatures::floatFeature): Use DialogFeaturesMap typedef.
43279        Renamed a local variable and tweaked the comments a bit.
43280        (WebCore::WindowFeatures::parseDialogFeatures): Added. Code moved here from
43281        DOMWindow::parseDialogFeatures and refactored a bit.
43282
43283        * page/WindowFeatures.h: Added new constructor, new parseDialogFeatures
43284        function, DialogFeaturesMap typedef, and made setWindowFeature function private.
43285
432862010-12-10  Chris Fleizach  <cfleizach@apple.com>
43287
43288        Reviewed by Darin Adler.
43289
43290        AX: refactor AccessibilityRenderObject::doAccessibilityHitTest
43291        https://bugs.webkit.org/show_bug.cgi?id=50574
43292
43293        Refactors accessibility hit testing to allow for a more flexible model when handling elements
43294        with fake sub-elements (like sliders or list boxes).
43295
43296        Renamed doAccessibilityHitTest -> accessibilityHitTest, which is called on the root
43297        accessibility render object. Then subclassers are able to override 
43298        elementAccessibilityHitTest to return their own specific elements.
43299
43300        * accessibility/AccessibilityListBox.cpp:
43301        (WebCore::AccessibilityListBox::elementAccessibilityHitTest):
43302        * accessibility/AccessibilityListBox.h:
43303        * accessibility/AccessibilityObject.h:
43304        (WebCore::AccessibilityObject::accessibilityHitTest):
43305        (WebCore::AccessibilityObject::elementAccessibilityHitTest):
43306        * accessibility/AccessibilityRenderObject.cpp:
43307        (WebCore::AccessibilityRenderObject::accessibilityHitTest):
43308        * accessibility/AccessibilityRenderObject.h:
43309        * accessibility/AccessibilitySlider.cpp:
43310        (WebCore::AccessibilitySlider::elementAccessibilityHitTest):
43311        * accessibility/AccessibilitySlider.h:
43312        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
43313        (webkit_accessible_component_ref_accessible_at_point):
43314        * accessibility/mac/AccessibilityObjectWrapper.mm:
43315        (-[AccessibilityObjectWrapper accessibilityHitTest:]):
43316
433172010-12-10  Kenneth Russell  <kbr@google.com>
43318
43319        Reviewed by Darin Adler.
43320
43321        Clean up assertion in Extensions3DOpenGL.cpp
43322        https://bugs.webkit.org/show_bug.cgi?id=50852
43323
43324        Built Release mode to test. No functionality change.
43325
43326        * platform/graphics/opengl/Extensions3DOpenGL.cpp:
43327        (WebCore::Extensions3DOpenGL::ensureEnabled):
43328
433292010-12-10  Cosmin Truta  <ctruta@chromium.org>
43330
43331        Reviewed by Eric Seidel.
43332
43333        Crash while processing ill-formed <textPath> ouside of <text>
43334        https://bugs.webkit.org/show_bug.cgi?id=47759
43335
43336        Renderers within a <text> subtree are created only when their corresponding elements
43337        satisfy the content model.
43338
43339        Test: svg/custom/invalid-text-content.svg
43340
43341        * svg/SVGTRefElement.cpp:
43342        (WebCore::SVGTRefElement::childShouldCreateRenderer): Fixed to comply with the content model.
43343        (WebCore::SVGTRefElement::rendererIsNeeded): Added.
43344        * svg/SVGTRefElement.h:
43345        * svg/SVGTSpanElement.cpp:
43346        (WebCore::SVGTSpanElement::childShouldCreateRenderer): Fixed to comply with the content model.
43347        (WebCore::SVGTSpanElement::rendererIsNeeded): Added.
43348        * svg/SVGTSpanElement.h: Changed indentation.
43349        * svg/SVGTextElement.cpp:
43350        (WebCore::SVGTextElement::childShouldCreateRenderer): Reformatted.
43351        * svg/SVGTextPathElement.cpp:
43352        (WebCore::SVGTextPathElement::childShouldCreateRenderer): Fixed to comply with the content model.
43353        (WebCore::SVGTextPathElement::rendererIsNeeded): Added.
43354        * svg/SVGTextPathElement.h:
43355
433562010-12-10  Zhenyao Mo  <zmo@google.com>
43357
43358        Reviewed by Adam Barth.
43359
43360        Use enums instead of booleans in ImageSource/ImageDecoder constructors
43361        https://bugs.webkit.org/show_bug.cgi?id=50818
43362
43363        This patch basically defines two enum type in ImageSource: AlphaOption
43364        and GammaAndColorProfileOption and use them as ImageSource and ImageDecoder
43365        constructor parameters instead of boolean typs.
43366
43367        * platform/graphics/ImageSource.cpp:
43368        (WebCore::ImageSource::ImageSource):
43369        (WebCore::ImageSource::setData):
43370        * platform/graphics/ImageSource.h: Define the two enum types.
43371        * platform/graphics/cg/GraphicsContext3DCG.cpp:
43372        (WebCore::GraphicsContext3D::getImageData):
43373        * platform/graphics/cg/ImageSourceCG.cpp:
43374        (WebCore::ImageSource::ImageSource):
43375        * platform/graphics/qt/ImageDecoderQt.cpp:
43376        (WebCore::ImageDecoder::create):
43377        (WebCore::ImageDecoderQt::ImageDecoderQt):
43378        * platform/graphics/qt/ImageDecoderQt.h:
43379        * platform/graphics/skia/GraphicsContext3DSkia.cpp:
43380        (WebCore::GraphicsContext3D::getImageData):
43381        * platform/image-decoders/ImageDecoder.cpp:
43382        (WebCore::ImageDecoder::create):
43383        * platform/image-decoders/ImageDecoder.h:
43384        (WebCore::ImageDecoder::ImageDecoder):
43385        * platform/image-decoders/bmp/BMPImageDecoder.cpp:
43386        (WebCore::BMPImageDecoder::BMPImageDecoder):
43387        * platform/image-decoders/bmp/BMPImageDecoder.h:
43388        * platform/image-decoders/gif/GIFImageDecoder.cpp:
43389        (WebCore::GIFImageDecoder::GIFImageDecoder):
43390        * platform/image-decoders/gif/GIFImageDecoder.h:
43391        * platform/image-decoders/ico/ICOImageDecoder.cpp:
43392        (WebCore::ICOImageDecoder::ICOImageDecoder):
43393        (WebCore::ICOImageDecoder::decodeAtIndex):
43394        * platform/image-decoders/ico/ICOImageDecoder.h:
43395        * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
43396        (WebCore::JPEGImageDecoder::JPEGImageDecoder):
43397        * platform/image-decoders/jpeg/JPEGImageDecoder.h:
43398        * platform/image-decoders/png/PNGImageDecoder.cpp:
43399        (WebCore::PNGImageDecoder::PNGImageDecoder):
43400        * platform/image-decoders/png/PNGImageDecoder.h:
43401        * platform/image-decoders/webp/WEBPImageDecoder.cpp:
43402        (WebCore::WEBPImageDecoder::WEBPImageDecoder):
43403        * platform/image-decoders/webp/WEBPImageDecoder.h:
43404
434052010-12-10  Ryosuke Niwa  <rniwa@webkit.org>
43406
43407        Reviewed by Darin Adler.
43408
43409        REGRESSION(r73799): editing/execCommand/4920488.html fails
43410        https://bugs.webkit.org/show_bug.cgi?id=50854
43411
43412        The regression was caused by Range::processContents's not extracting
43413        m_end.container()->firstChild(). Fixed the bug by always adding the first child.
43414
43415        * dom/Range.cpp:
43416        (WebCore::Range::processContents):
43417
434182010-12-10  Adam Barth  <abarth@webkit.org>
43419
43420        Reviewed by Eric Seidel.
43421
43422        REGRESSION: Infinite redirect on developer.apple.com
43423        https://bugs.webkit.org/show_bug.cgi?id=45627
43424
43425        Tests: fast/loader/form-submit-aborts-parsing.html
43426               fast/loader/location-change-aborts-parsing.html
43427
43428        This patch is not pretty, but it fixes the bug.  I stole this approach
43429        from the old HTML parser (as suggested by Eric Seidel).  The other
43430        approaches that folks tried for this bug are better, but it's inclear
43431        how to get them to work correctly.  I've added a large FIXME comment.
43432
43433        * html/parser/HTMLDocumentParser.cpp:
43434        (WebCore::HTMLDocumentParser::pumpTokenizer):
43435        * html/parser/HTMLTreeBuilder.h:
43436        (WebCore::HTMLTreeBuilder::isParsingFragment):
43437
434382010-12-10  Brian Weinstein  <bweinstein@apple.com>
43439
43440        Reviewed by Ada Chan.
43441
43442        When we are creating a ContextMenuItem, only call setSubMenu if we have
43443        a subMenu to set.
43444
43445        * platform/ContextMenuItem.cpp:
43446        (WebCore::ContextMenuItem::ContextMenuItem):
43447
434482010-12-10  Kenneth Russell  <kbr@google.com>
43449
43450        Unreviewed, another build fix. #include <wtf/UnusedParam.h> needed
43451        for Release builds.
43452
43453        * platform/graphics/opengl/Extensions3DOpenGL.cpp:
43454
434552010-12-10  Kenneth Russell  <kbr@google.com>
43456
43457        Unreviewed, build fix. Change #ifndef NDEBUG to #ifdef NDEBUG.
43458
43459        * platform/graphics/opengl/Extensions3DOpenGL.cpp:
43460        (WebCore::Extensions3DOpenGL::ensureEnabled):
43461
434622010-12-10  Kenneth Russell  <kbr@google.com>
43463
43464        Reviewed by James Robinson.
43465
43466        Implement extension entry points and remove EXTENSIONS enum
43467        https://bugs.webkit.org/show_bug.cgi?id=40316
43468
43469        Implemented WebGLRenderingContext's getSupportedExtensions and
43470        getExtensions entry points, and, to verify them, added support for
43471        the first specified WebGL extension, OES_texture_float. This
43472        extension is now advertised in the Chromium and WebKit ports when
43473        the underlying hardware supports it.
43474
43475        The new OES_texture_float test in the WebGL conformance suite
43476        verifies the allocation and population of floating point textures,
43477        and their use as render targets. However, because this extension
43478        is optional, it is not easily testable with a layout test; there
43479        is only one set of expectations for a given test, and two would be
43480        needed, one when the extension is available and one when it is not.
43481
43482        Tested with the oes-texture-float.html WebGL conformance test in
43483        Chromium and WebKit on Mac OS X on hardware that supports the
43484        extension. Also verified with a configuration that does not
43485        advertise the extension that this same test passes.
43486
43487        * CMakeLists.txt:
43488        * DerivedSources.make:
43489        * GNUmakefile.am:
43490        * WebCore.gypi:
43491        * WebCore.pri:
43492        * WebCore.pro:
43493        * WebCore.xcodeproj/project.pbxproj:
43494        * bindings/js/JSWebGLRenderingContextCustom.cpp:
43495        (WebCore::toJS):
43496        (WebCore::JSWebGLRenderingContext::markChildren):
43497        (WebCore::JSWebGLRenderingContext::getExtension):
43498        (WebCore::JSWebGLRenderingContext::getSupportedExtensions):
43499        * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
43500        (WebCore::toV8Object):
43501        (WebCore::V8WebGLRenderingContext::getExtensionCallback):
43502        (WebCore::V8WebGLRenderingContext::getSupportedExtensionsCallback):
43503        * html/canvas/OESTextureFloat.cpp: Added.
43504        (WebCore::OESTextureFloat::OESTextureFloat):
43505        (WebCore::OESTextureFloat::~OESTextureFloat):
43506        (WebCore::OESTextureFloat::getName):
43507        (WebCore::OESTextureFloat::create):
43508        * html/canvas/OESTextureFloat.h: Added.
43509        * html/canvas/OESTextureFloat.idl: Added.
43510        * html/canvas/WebGLExtension.cpp: Added.
43511        (WebCore::WebGLExtension::WebGLExtension):
43512        (WebCore::WebGLExtension::~WebGLExtension):
43513        * html/canvas/WebGLExtension.h: Added.
43514        * html/canvas/WebGLRenderingContext.cpp:
43515        (WebCore::WebGLRenderingContext::getExtension):
43516        (WebCore::WebGLRenderingContext::getSupportedExtensions):
43517        (WebCore::WebGLRenderingContext::validateTexFuncFormatAndType):
43518        (WebCore::WebGLRenderingContext::validateTexFuncData):
43519        (WebCore::WebGLRenderingContext::getNumberOfExtensions):
43520        (WebCore::WebGLRenderingContext::getExtensionNumber):
43521        * html/canvas/WebGLRenderingContext.h:
43522        * html/canvas/WebGLRenderingContext.idl:
43523        * platform/graphics/Extensions3D.h:
43524        * platform/graphics/GraphicsContext3D.cpp:
43525        (WebCore::GraphicsContext3D::computeFormatAndTypeParameters):
43526        (WebCore::GraphicsContext3D::extractTextureData):
43527        (WebCore::doUnpackingAndPacking):
43528        (WebCore::doPacking):
43529        (WebCore::doFloatingPointPacking):
43530        (WebCore::GraphicsContext3D::packPixels):
43531        * platform/graphics/GraphicsContext3D.h:
43532        * platform/graphics/chromium/Extensions3DChromium.h:
43533        * platform/graphics/opengl/Extensions3DOpenGL.cpp:
43534        (WebCore::Extensions3DOpenGL::supports):
43535        (WebCore::Extensions3DOpenGL::ensureEnabled):
43536        * platform/graphics/opengl/Extensions3DOpenGL.h:
43537        * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
43538        (WebCore::GraphicsContext3D::texImage2D):
43539        * platform/graphics/qt/Extensions3DQt.cpp:
43540        (WebCore::Extensions3DQt::ensureEnabled):
43541        * platform/graphics/qt/Extensions3DQt.h:
43542
435432010-12-10  Darin Adler  <darin@apple.com>
43544
43545        Try to fix Windows build.
43546
43547        * dom/Range.cpp:
43548        (WebCore::Range::processContents): Put typedef of NodeVector inside the function
43549        instead of at the top of the file, since the use is restricted to this function.
43550        There's another NodeVector in ContainerNode.cpp.
43551
435522010-12-09  Brian Weinstein  <bweinstein@apple.com>
43553
43554        Reviewed by Adam Roben.
43555
43556        Prep for WebKit2: Context menu support on Windows
43557        https://bugs.webkit.org/show_bug.cgi?id=50514
43558        
43559        Before this patch ContextMenu on Windows were backed by HMENUs, and ContextMenuItems
43560        were backed by MENUITEMINFOs. This meant they couldn't be copied, and they needed to
43561        be to work in WebKit2.
43562        
43563        This patch adds a new USE flag - CROSS_PLATFORM_CONTEXT_MENUS that are for a cross-platform
43564        representation of context menus. This patch also has Windows adopt them.
43565        
43566        Cross-platform context menus change the API of context menus and the ContextMenuClient. There
43567        is no more idea of a PlatformMenuDescription or a PlatformMenuItemDescription. Menus are backed
43568        by a Vector of ContextMenuItems, and menu items are backed by the variables they need (enabled, checked
43569        title, action, type, and submenu).
43570        
43571        This patch also refactors the ContextMenuClient interface to use a variation on the getCustomMenuFromDefaultItems
43572        function to allow for customization of the context menu.
43573        
43574        For other ports to use CROSS_PLATFORM_CONTEXT_MENUS, all they need to do is write conversion functions from
43575        a ContextMenu <-> native menu type, and ContextMenuItem <-> native menu item type. For Windows, this is done
43576        in ContextMenuWin.cpp and ContextMenuItemWin.cpp.
43577
43578        No new tests, no change in behavior.
43579
43580        * WebCore.vcproj/WebCore.vcproj: Add new files (only needed on Windows for now).
43581        * loader/EmptyClients.h:
43582        (WebCore::EmptyContextMenuClient::customizeMenu): Define this function if CROSS_PLATFORM_CONTEXT_MENUS
43583            is on.
43584        * page/ContextMenuClient.h: Ditto. 
43585        * page/ContextMenuController.cpp:
43586        (WebCore::ContextMenuController::showContextMenu): Call customizeMenu instead of 
43587            getCustomMenuFromDefaultItems if CROSS_PLATFORM_CONTEXT_MENUS is on.
43588        * platform/ContextMenu.cpp: Added.
43589        (WebCore::ContextMenu::ContextMenu): Empty constructor.
43590        (WebCore::ContextMenu::setItems): Sets the items in the menu.
43591        (WebCore::ContextMenu::items): Returns the items in the menu.
43592        (WebCore::ContextMenu::itemAtIndex):
43593        (WebCore::itemWithActionInMenu): Returns the item with the correct action, recursively descending
43594            into submenus.
43595        (WebCore::ContextMenu::itemWithAction): Calls through to itemWithActionInMenu.
43596        * platform/ContextMenu.h: Added a new set of functions and member variables that are defined for
43597            CROSS_PLATFORM_CONTEXT_MENUS.
43598        (WebCore::ContextMenu::appendItem): Appends an item to the menu.
43599        * platform/ContextMenuItem.cpp: Added.
43600        (WebCore::ContextMenuItem::ContextMenuItem):
43601        (WebCore::ContextMenuItem::~ContextMenuItem):
43602        (WebCore::ContextMenuItem::setSubMenu):
43603        * platform/ContextMenuItem.h:
43604        (WebCore::ContextMenuItem::type): Returns the type.
43605        (WebCore::ContextMenuItem::setType): Sets the type.
43606        (WebCore::ContextMenuItem::action): Returns the action.
43607        (WebCore::ContextMenuItem::setAction): Sets the action.
43608        (WebCore::ContextMenuItem::title): Returns the title.
43609        (WebCore::ContextMenuItem::setTitle): Sets the title.
43610        (WebCore::ContextMenuItem::checked): Returns whether or not the menu item is checked.
43611        (WebCore::ContextMenuItem::setChecked): Sets whether ot not the menu item is checked.
43612        (WebCore::ContextMenuItem::enabled): Returns whether or not the menu item is enabled.
43613        (WebCore::ContextMenuItem::setEnabled): Sets whether or not the menu item is enabled.
43614        (WebCore::ContextMenuItem::submenu): Returns the submenu.
43615        * platform/PlatformMenuDescription.h: Remove the idea if a PlatformMenuDescription if 
43616            CROSS_PLATFORM_CONTEXT_MENUS is on.
43617        * platform/win/ContextMenuItemWin.cpp:
43618        (WebCore::ContextMenuItem::ContextMenuItem): Creates a ContextMenuItem from a MENUITEMINFO.
43619        (WebCore::ContextMenuItem::nativeMenuItem): Creates and returns a MENUITEMINFO.
43620        * platform/win/ContextMenuWin.cpp:
43621        (WebCore::ContextMenu::ContextMenu): Creates a ContextMenu from an HMENU.
43622        (WebCore::ContextMenu::nativeMenu): Creates and returns an HMENU.
43623
436242010-12-10  Emil Eklund  <eae@chromium.org>
43625
43626        Reviewed by Adam Barth.
43627
43628        Fix crash in ReplaceSelectionCommand::doApply when selection is modified
43629        during execution.
43630        https://bugs.webkit.org/show_bug.cgi?id=50840
43631
43632        Test: editing/execCommand/insertHTML-mutation-crash.html
43633
43634        * editing/ReplaceSelectionCommand.cpp:
43635        (WebCore::ReplaceSelectionCommand::copyStyleToChildren):
43636        Replaced raw node pointer with RefPtr.
43637        
43638        (WebCore::ReplaceSelectionCommand::doApply):
43639        Replaced raw node pointer with RefPtr and added null check.
43640
436412010-12-10  Emil Eklund  <eae@chromium.org>
43642
43643        Reviewed by Adam Barth.
43644
43645        Fix crash in Range::processContents when modified during mutation event.
43646        https://bugs.webkit.org/show_bug.cgi?id=50710
43647
43648        Test: fast/dom/Range/range-extractContents.html
43649
43650        * dom/Range.cpp:
43651        (WebCore::Range::processContents):
43652        Replace raw pointers with RefPtrs and add checks.
43653
436542010-12-09  Enrica Casucci  <enrica@apple.com>
43655
43656        Reviewed by Alexey Proskuryakov.
43657
43658        Implement IME support for Mac.
43659        <rdar://problem/7660589> WebKit2: Implement IME support for Mac.
43660        https://bugs.webkit.org/show_bug.cgi?id=50788
43661
43662        * dom/KeyboardEvent.h:
43663        (WebCore::KeypressCommand::KeypressCommand): Removed ASSERT in constructor,
43664        since it is now used for more than one command.
43665
436662010-12-10  Jessie Berlin  <jberlin@apple.com>
43667
43668        Windows build fix. Unreviewed.
43669
43670        * WebCore.vcproj/WebCore.vcproj:
43671        Remove duplicate </File> tag.
43672
436732010-12-09  Jenn Braithwaite  <jennb@chromium.org>
43674
43675        Reviewed by Adam Barth.
43676
43677        TextResourceDecoder::checkForHeadCharset can look way past the limit.
43678        https://bugs.webkit.org/show_bug.cgi?id=47397
43679
43680        Replaced charset detection algorithm with real parser.
43681        Added tests for parser bugs mentioned in the thread for this bug report.
43682        Converted hixie's encoding parsing tests to a layout test.
43683
43684        Tests: fast/encoding/bracket-in-script.html
43685               fast/encoding/bracket-in-tag.html
43686               fast/encoding/escaped-bracket.html
43687               fast/encoding/meta-in-body.html
43688               fast/encoding/meta-in-script.html
43689               fast/encoding/meta-in-title.html
43690               fast/encoding/mismatched-end-tag.html
43691               fast/encoding/namespace-meta.html
43692               fast/encoding/not-http-equiv-content.html
43693               fast/encoding/parser-tests.html
43694               fast/encoding/quotes-in-title.html
43695               fast/encoding/tag-name-digit.html
43696               http/tests/misc/charset-sniffer-end-sniffing.html
43697
43698        * Android.mk:
43699        * CMakeLists.txt:
43700        * GNUmakefile.am:
43701        * WebCore.gypi:
43702        * WebCore.pro:
43703        * WebCore.vcproj/WebCore.vcproj:
43704        * WebCore.xcodeproj/project.pbxproj:
43705        * html/parser/HTMLMetaCharsetParser.cpp: Added.
43706        (WebCore::HTMLMetaCharsetParser::HTMLMetaCharsetParser):
43707        (WebCore::HTMLMetaCharsetParser::~HTMLMetaCharsetParser):
43708        (WebCore::HTMLMetaCharsetParser::extractCharset):
43709        (WebCore::HTMLMetaCharsetParser::processMeta):
43710        (WebCore::HTMLMetaCharsetParser::checkForMetaCharset):
43711        * html/parser/HTMLMetaCharsetParser.h: Added.
43712        (WebCore::HTMLMetaCharsetParser::create):
43713        (WebCore::HTMLMetaCharsetParser::encoding):
43714        * loader/TextResourceDecoder.cpp:
43715        (WebCore::TextResourceDecoder::checkForHeadCharset):
43716        (WebCore::TextResourceDecoder::checkForMetaCharset):
43717        * loader/TextResourceDecoder.h:
43718
437192010-12-10 Nate Chapin  <japhet@chromium.org>
43720
43721        Reviewed by Antti Koivisto.
43722
43723        Merge Loader and Request. Currently, Loader is a singleton attached
43724        to MemoryCache. Our goal is to remove knowledge of the loading process
43725        from MemoryCache, so we should attach Loader to CachedResourceLoader instead.
43726        Once Loader is moved off of MemoryCache, there's no reason it needs to be a singleton,
43727        which removes the main reason for Request existing as a separate class (to store per-request
43728        state that Loader couldn't).
43729
43730        Loader will be given a more descriptive name in a later patch.
43731
43732        https://bugs.webkit.org/show_bug.cgi?id=49837
43733
43734        Refactor only, no new tests.
43735
43736        * Android.mk:
43737        * CMakeLists.txt:
43738        * GNUmakefile.am:
43739        * WebCore.gypi:
43740        * WebCore.pro:
43741        * loader/FrameLoader.cpp:
43742        * loader/Request.cpp:
43743        * loader/Request.h:
43744        * loader/cache/CachedFont.cpp:
43745        * loader/cache/CachedImage.cpp:
43746        * loader/cache/CachedResource.cpp:
43747        * loader/cache/CachedResource.h:
43748        * loader/cache/CachedResourceLoader.cpp:
43749        (WebCore::CachedResourceLoader::CachedResourceLoader):
43750        (WebCore::CachedResourceLoader::~CachedResourceLoader):
43751        (WebCore::CachedResourceLoader::requestImage):
43752        (WebCore::CachedResourceLoader::setAutoLoadImages):
43753        (WebCore::CachedResourceLoader::load):
43754        (WebCore::CachedResourceLoader::loadDone): Was setLoadInProgress(false),
43755            plus other CachedResourceLoader cleanup that had been handled in Loader.
43756        (WebCore::CachedResourceLoader::cancelRequests): Moved from Loader.
43757        (WebCore::CachedResourceLoader::requestCount):
43758        * loader/cache/CachedResourceLoader.h:
43759        (WebCore::CachedResourceLoader::loadFinishing): Was setLoadInProgress(true)
43760        * loader/cache/MemoryCache.h:
43761        * loader/loader.cpp:
43762        (WebCore::Loader::Loader):
43763        (WebCore::Loader::~Loader):
43764        (WebCore::Loader::load):
43765        (WebCore::Loader::willSendRequest):
43766        (WebCore::Loader::didFinishLoading):
43767        (WebCore::Loader::didFail):
43768        (WebCore::Loader::didReceiveResponse):
43769        (WebCore::Loader::didReceiveData):
43770        (WebCore::Loader::didReceiveCachedMetadata):
43771        * loader/loader.h:
43772        (WebCore::Loader::cachedResourceLoader):
43773
437742010-12-10  Martin Robinson  <mrobinson@igalia.com>
43775
43776        Unreviewed, rolling out r73703.
43777        http://trac.webkit.org/changeset/73703
43778        https://bugs.webkit.org/show_bug.cgi?id=49658
43779
43780        This patch is causing crashes on the GTK+ bots.
43781
43782        * platform/ContextMenuItem.h:
43783        (WebCore::PlatformMenuItemDescription::PlatformMenuItemDescription):
43784        * platform/gtk/ContextMenuGtk.cpp:
43785        (WebCore::ContextMenu::appendItem):
43786        * platform/gtk/ContextMenuItemGtk.cpp:
43787        (WebCore::ContextMenuItem::ContextMenuItem):
43788        (WebCore::ContextMenuItem::~ContextMenuItem):
43789        (WebCore::ContextMenuItem::createNativeMenuItem):
43790        (WebCore::ContextMenuItem::releasePlatformDescription):
43791        (WebCore::ContextMenuItem::type):
43792        (WebCore::ContextMenuItem::setType):
43793        (WebCore::ContextMenuItem::action):
43794        (WebCore::ContextMenuItem::setAction):
43795        (WebCore::ContextMenuItem::title):
43796        (WebCore::ContextMenuItem::setTitle):
43797        (WebCore::ContextMenuItem::platformSubMenu):
43798        (WebCore::ContextMenuItem::setSubMenu):
43799        (WebCore::ContextMenuItem::setChecked):
43800        (WebCore::ContextMenuItem::setEnabled):
43801
438022010-12-08  Mihai Parparita  <mihaip@chromium.org>
43803
43804        Reviewed by Darin Adler.
43805
43806        fast/canvas/canvas-getImageData-negative-source.html fails on Mac
43807        https://bugs.webkit.org/show_bug.cgi?id=47901
43808
43809        Test: fast/canvas/canvas-getImageData-rounding.html
43810        
43811        static_cast<unsigned> is generally not what we want in
43812        convertLogicalToDevice. It produces inconsistent results when compiling
43813        for 32-bit vs. 64-bit, and in any case we weren't getting correct
43814        rounding behavior for source rectangles (e.g. we should get a source rect
43815        of width 2 if the source X is 0.9 and the source width is 0.2, but we
43816        were getting only one of width 1).
43817
43818        * html/HTMLCanvasElement.cpp:
43819        (WebCore::HTMLCanvasElement::convertLogicalToDevice):
43820        (WebCore::HTMLCanvasElement::convertToValidDeviceSize):
43821        * html/HTMLCanvasElement.h:
43822
438232010-12-10  Hironori Bono  <hbono@chromium.org>
43824
43825        Reviewed by Ojan Vafai.
43826
43827        [Chromium] Use libjpeg-turbo instead of libjpeg
43828        https://bugs.webkit.org/show_bug.cgi?id=50054
43829
43830        This change replaces the hard-coded path to the GYP files of the JPEG
43831        library with a 'libjpeg_gyp_path' variable, which is added by Chromium
43832        r68453. (When building WebKit Chromium, this change sets its value to
43833        '<(chromium_src_dir)/third_party/libjpeg/libjpeg.gyp' to avoid changing
43834        the current behavior.)
43835
43836        No new tests since this does not change the code at all.
43837
43838        * WebCore.gyp/WebCore.gyp:
43839
438402010-12-10  Chris Marrin  <cmarrin@apple.com>
43841
43842        Reviewed by Simon Fraser.
43843
43844        Share code between Mac (CA) and Windows (CACF) GraphicsLayer implementations
43845        https://bugs.webkit.org/show_bug.cgi?id=49388
43846
43847        Got rid of the NonZeroBeginTimeFlag. Functionality is now hidden inside
43848        the implementation.
43849
43850        * platform/graphics/ca/GraphicsLayerCA.cpp:
43851        (WebCore::GraphicsLayerCA::setAnimationOnLayer):
43852        * platform/graphics/ca/PlatformCAAnimation.h:
43853        * platform/graphics/ca/mac/PlatformCAAnimationMac.mm:
43854        (hasNonZeroBeginTimeFlag):
43855        (setNonZeroBeginTimeFlag):
43856        (PlatformCAAnimation::PlatformCAAnimation):
43857        (PlatformCAAnimation::setBeginTime):
43858
438592010-12-10  Pavel Podivilov  <podivilov@chromium.org>
43860
43861        Reviewed by Pavel Feldman.
43862
43863        Web Inspector: eliminate SourceFrameDelegate by passing scripts to SourceFrame constructor.
43864        https://bugs.webkit.org/show_bug.cgi?id=50679
43865
43866        * inspector/front-end/Script.js:
43867        * inspector/front-end/ScriptView.js:
43868        (WebInspector.ScriptView):
43869        * inspector/front-end/ScriptsPanel.js:
43870        (WebInspector.ScriptsPanel.prototype.reset):
43871        * inspector/front-end/SourceFrame.js:
43872        (WebInspector.SourceFrame):
43873        (WebInspector.SourceFrame.prototype._createViewerIfNeeded):
43874        (WebInspector.SourceFrame.prototype._breakpointAdded):
43875        (WebInspector.SourceFrame.prototype._doEditLine):
43876        (WebInspector.SourceFrame.prototype._commitEditLine):
43877        (WebInspector.SourceFrame.prototype._breakpoints):
43878        (WebInspector.SourceFrame.prototype._sourceIDForLine):
43879        * inspector/front-end/SourceView.js:
43880        (WebInspector.SourceView):
43881
438822010-12-10  Andreas Kling  <kling@webkit.org>
43883
43884        Reviewed by Eric Seidel.
43885
43886        Don't do GraphicsContext save/restore just to preserve the CompositeOperator
43887        https://bugs.webkit.org/show_bug.cgi?id=50070
43888
43889        Add GraphicsContext::compositeOperation() so we don't have to do a full
43890        save/restore if the only context-tainting call is setCompositeOperation().
43891
43892        GraphicsContext::setCompositeOperation() now stores the op in its state
43893        and calls a port-specific setPlatformCompositeOperation().
43894
43895        No new tests, this is an optimization.
43896
43897        * platform/graphics/GraphicsContext.cpp:
43898        (WebCore::GraphicsContext::setCompositeOperation):
43899        (WebCore::GraphicsContext::compositeOperation):
43900        * platform/graphics/GraphicsContext.h:
43901        * platform/graphics/GraphicsContextPrivate.h:
43902        (WebCore::GraphicsContextState::GraphicsContextState):
43903        * platform/graphics/Image.cpp:
43904        (WebCore::Image::fillWithSolidColor):
43905        * platform/graphics/cairo/GraphicsContextCairo.cpp:
43906        (WebCore::GraphicsContext::setPlatformCompositeOperation):
43907        * platform/graphics/cg/GraphicsContextCG.cpp:
43908        (WebCore::GraphicsContext::setPlatformCompositeOperation):
43909        * platform/graphics/haiku/GraphicsContextHaiku.cpp:
43910        (WebCore::GraphicsContext::setPlatformCompositeOperation):
43911        * platform/graphics/mac/GraphicsContextMac.mm:
43912        (WebCore::GraphicsContext::setPlatformCompositeOperation):
43913        * platform/graphics/openvg/GraphicsContextOpenVG.cpp:
43914        (WebCore::GraphicsContext::setPlatformCompositeOperation):
43915        * platform/graphics/qt/GraphicsContextQt.cpp:
43916        (WebCore::GraphicsContext::setPlatformCompositeOperation):
43917        * platform/graphics/skia/GraphicsContextSkia.cpp:
43918        (WebCore::GraphicsContext::setPlatformCompositeOperation):
43919        * platform/graphics/skia/SkiaUtils.cpp:
43920        (WebCore::WebCoreCompositeToSkiaComposite):
43921        * platform/graphics/wince/GraphicsContextWinCE.cpp:
43922        (WebCore::GraphicsContext::setPlatformCompositeOperation):
43923        * platform/graphics/wx/GraphicsContextWx.cpp:
43924        (WebCore::GraphicsContext::setPlatformCompositeOperation):
43925        * rendering/RenderBoxModelObject.cpp:
43926        (WebCore::RenderBoxModelObject::paintFillLayerExtended):
43927        * rendering/RenderView.cpp:
43928        (WebCore::RenderView::paintBoxDecorations):
43929
439302010-12-10  Renata Hodovan  <reni@webkit.org>
43931
43932        Reviewed by Andreas Kling.
43933
43934        GraphicsContext: Merge m_common and m_data
43935        https://bugs.webkit.org/show_bug.cgi?id=49914
43936
43937        Move data members from GraphicsContextPrivate into GraphicsContext. So GraphicsContextPlatform.h
43938        and m_common became unnecessary. They are removed.
43939        Add two methods to GraphicsContext: platformInit() and platformDestroy(), which
43940        make the constructor of GraphicsContext clearer.
43941        Besides add a getter to the private GraphicsContext::m_state member, because some inline
43942        functions in cairo need it.
43943
43944        No new test is needed, because this is a refactoring.
43945
43946        * WebCore.xcodeproj/project.pbxproj:
43947        * platform/graphics/GraphicsContext.cpp:
43948        (WebCore::GraphicsContext::GraphicsContext):
43949        (WebCore::GraphicsContext::~GraphicsContext):
43950        (WebCore::GraphicsContext::save):
43951        (WebCore::GraphicsContext::restore):
43952        (WebCore::GraphicsContext::setStrokeThickness):
43953        (WebCore::GraphicsContext::setStrokeStyle):
43954        (WebCore::GraphicsContext::setStrokeColor):
43955        (WebCore::GraphicsContext::setShadow):
43956        (WebCore::GraphicsContext::clearShadow):
43957        (WebCore::GraphicsContext::getShadow):
43958        (WebCore::GraphicsContext::strokeThickness):
43959        (WebCore::GraphicsContext::strokeStyle):
43960        (WebCore::GraphicsContext::strokeColor):
43961        (WebCore::GraphicsContext::strokeColorSpace):
43962        (WebCore::GraphicsContext::fillRule):
43963        (WebCore::GraphicsContext::setFillRule):
43964        (WebCore::GraphicsContext::setFillColor):
43965        (WebCore::GraphicsContext::fillColor):
43966        (WebCore::GraphicsContext::fillColorSpace):
43967        (WebCore::GraphicsContext::setShouldAntialias):
43968        (WebCore::GraphicsContext::shouldAntialias):
43969        (WebCore::GraphicsContext::state):
43970        (WebCore::GraphicsContext::setStrokePattern):
43971        (WebCore::GraphicsContext::setFillPattern):
43972        (WebCore::GraphicsContext::setStrokeGradient):
43973        (WebCore::GraphicsContext::setFillGradient):
43974        (WebCore::GraphicsContext::fillGradient):
43975        (WebCore::GraphicsContext::strokeGradient):
43976        (WebCore::GraphicsContext::fillPattern):
43977        (WebCore::GraphicsContext::strokePattern):
43978        (WebCore::GraphicsContext::setShadowsIgnoreTransforms):
43979        (WebCore::GraphicsContext::updatingControlTints):
43980        (WebCore::GraphicsContext::setUpdatingControlTints):
43981        (WebCore::GraphicsContext::setPaintingDisabled):
43982        (WebCore::GraphicsContext::paintingDisabled):
43983        (WebCore::GraphicsContext::textDrawingMode):
43984        (WebCore::GraphicsContext::setTextDrawingMode):
43985        * platform/graphics/GraphicsContext.h:
43986        (WebCore::GraphicsContextState::GraphicsContextState):
43987        * platform/graphics/GraphicsContextPrivate.h: Removed.
43988        * platform/graphics/cairo/GraphicsContextCairo.cpp:
43989        (WebCore::setPlatformFill):
43990        (WebCore::setPlatformStroke):
43991        (WebCore::drawPathShadow):
43992        (WebCore::fillCurrentCairoPath):
43993        (WebCore::strokeCurrentCairoPath):
43994        (WebCore::GraphicsContext::platformInit):
43995        (WebCore::GraphicsContext::platformDestroy):
43996        (WebCore::GraphicsContext::fillPath):
43997        (WebCore::GraphicsContext::strokePath):
43998        (WebCore::GraphicsContext::fillRect):
43999        (WebCore::GraphicsContext::setPlatformShadow):
44000        (WebCore::GraphicsContext::strokeRect):
44001        (WebCore::GraphicsContext::setAlpha):
44002        (WebCore::GraphicsContext::getAlpha):
44003        * platform/graphics/cg/GraphicsContextCG.cpp:
44004        (WebCore::GraphicsContext::platformInit):
44005        (WebCore::GraphicsContext::platformDestroy):
44006        (WebCore::GraphicsContext::applyStrokePattern):
44007        (WebCore::GraphicsContext::applyFillPattern):
44008        (WebCore::GraphicsContext::drawPath):
44009        (WebCore::GraphicsContext::fillPath):
44010        (WebCore::GraphicsContext::strokePath):
44011        (WebCore::GraphicsContext::fillRect):
44012        (WebCore::GraphicsContext::setPlatformShadow):
44013        (WebCore::GraphicsContext::strokeRect):
44014        * platform/graphics/haiku/GraphicsContextHaiku.cpp:
44015        (WebCore::GraphicsContext::platformInit):
44016        (WebCore::GraphicsContext::platformDestroy):
44017        * platform/graphics/openvg/GraphicsContextOpenVG.cpp:
44018        (WebCore::GraphicsContext::platformInit):
44019        (WebCore::GraphicsContext::platformDestroy):
44020        (WebCore::GraphicsContext::fillPath):
44021        (WebCore::GraphicsContext::strokePath):
44022        (WebCore::GraphicsContext::clip):
44023        (WebCore::GraphicsContext::clipOut):
44024        (WebCore::GraphicsContext::addInnerRoundedRectClip):
44025        * platform/graphics/qt/GraphicsContextQt.cpp:
44026        (WebCore::GraphicsContext::platformInit):
44027        (WebCore::GraphicsContext::platformDestroy):
44028        (WebCore::GraphicsContext::fillPath):
44029        (WebCore::GraphicsContext::strokePath):
44030        (WebCore::GraphicsContext::fillRect):
44031        (WebCore::GraphicsContext::setPlatformShadow):
44032        * platform/graphics/skia/GraphicsContextSkia.cpp:
44033        (WebCore::GraphicsContext::platformInit):
44034        (WebCore::GraphicsContext::platformDestroy):
44035        (WebCore::GraphicsContext::fillPath):
44036        (WebCore::GraphicsContext::setPlatformShadow):
44037        * platform/graphics/win/GraphicsContextCGWin.cpp:
44038        (WebCore::GraphicsContext::GraphicsContext):
44039        (WebCore::GraphicsContext::platformInit):
44040        * platform/graphics/win/GraphicsContextCairoWin.cpp:
44041        (WebCore::GraphicsContext::GraphicsContext):
44042        (WebCore::GraphicsContext::platformInit):
44043        * platform/graphics/wince/GraphicsContextWinCE.cpp:
44044        (WebCore::GraphicsContext::platformInit):
44045        (WebCore::GraphicsContext::platformDestroy):
44046        (WebCore::GraphicsContext::fillPath):
44047        (WebCore::GraphicsContext::fillRect):
44048        * platform/graphics/wx/GraphicsContextWx.cpp:
44049        (WebCore::GraphicsContext::platformInit):
44050        (WebCore::GraphicsContext::platformDestroy):
44051
440522010-12-10  Pavel Podivilov  <podivilov@chromium.org>
44053
44054        Reviewed by Yury Semikhatsky.
44055
44056        Web Inspector: introduce a pair of set/remove methods for each breakpoint type.
44057        https://bugs.webkit.org/show_bug.cgi?id=50809
44058
44059        * inspector/Inspector.idl:
44060        * inspector/InspectorController.cpp:
44061        (WebCore::InspectorController::InspectorController):
44062        (WebCore::InspectorController::setEventListenerBreakpoint):
44063        (WebCore::InspectorController::removeEventListenerBreakpoint):
44064        (WebCore::InspectorController::hasEventListenerBreakpoint):
44065        (WebCore::InspectorController::setXHRBreakpoint):
44066        (WebCore::InspectorController::removeXHRBreakpoint):
44067        (WebCore::InspectorController::hasXHRBreakpoint):
44068        (WebCore::InspectorController::clearNativeBreakpoints):
44069        * inspector/InspectorController.h:
44070        * inspector/InspectorDOMAgent.cpp:
44071        (WebCore::InspectorDOMAgent::setDOMBreakpoint):
44072        (WebCore::InspectorDOMAgent::removeDOMBreakpoint):
44073        (WebCore::InspectorDOMAgent::shouldBreakOnNodeInsertion):
44074        (WebCore::InspectorDOMAgent::shouldBreakOnNodeRemoval):
44075        (WebCore::InspectorDOMAgent::shouldBreakOnAttributeModification):
44076        (WebCore::InspectorDOMAgent::descriptionForDOMEvent):
44077        (WebCore::InspectorDOMAgent::didRemoveDOMNode):
44078        * inspector/InspectorDOMAgent.h:
44079        * inspector/InspectorInstrumentation.cpp:
44080        (WebCore::InspectorInstrumentation::willInsertDOMNodeImpl):
44081        (WebCore::InspectorInstrumentation::willRemoveDOMNodeImpl):
44082        (WebCore::InspectorInstrumentation::willModifyDOMAttrImpl):
44083        (WebCore::InspectorInstrumentation::willSendXMLHttpRequestImpl):
44084        (WebCore::InspectorInstrumentation::pauseOnNativeEventIfNeeded):
44085        * inspector/front-end/BreakpointManager.js:
44086        (WebInspector.BreakpointManager):
44087        (WebInspector.NativeBreakpoint):
44088        (WebInspector.DOMBreakpoint):
44089        (WebInspector.EventListenerBreakpoint):
44090        (WebInspector.XHRBreakpoint):
44091        * inspector/front-end/CallStackSidebarPane.js:
44092        (WebInspector.CallStackSidebarPane):
44093        (WebInspector.CallStackSidebarPane.prototype._nativeBreakpointHit):
44094        * inspector/front-end/DebuggerModel.js:
44095        (WebInspector.DebuggerModel.prototype.debuggerPaused):
44096
440972010-12-10  Adam Roben  <aroben@apple.com>
44098
44099        Windows production build fix after r72555
44100
44101        * WebCore.vcproj/WebCoreGeneratedCommon.vsprops: Use
44102        "$(WebKitVSPropsRedirectionDir)..\..\WebKitLibraries\win" to find the
44103        .vsprops files, rather than $(WebKitLibrariesDir).
44104
441052010-12-10  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
44106
44107        Reviewed by nobody, build fix.
44108
44109        [Qt] Second attempt to fix the build with Qt 4.6 broken in 73710.
44110
44111        * platform/network/qt/QtNAMThreadSafeProxy.cpp:
44112        (WebCore::QtNetworkReplyThreadSafeProxy::QtNetworkReplyThreadSafeProxy):
44113        (WebCore::QtNetworkReplyThreadSafeProxy::localCustomRequest):
44114        * platform/network/qt/QtNAMThreadSafeProxy.h:
44115
441162010-12-10  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
44117
44118        Reviewed by nobody, build fix.
44119
44120        [Qt] Fix the build with Qt 4.6 broken in 73710.
44121
44122        * platform/network/qt/QtNAMThreadSafeProxy.cpp:
44123        (WebCore::QtNetworkReplyThreadSafeProxy::QtNetworkReplyThreadSafeProxy):
44124        * platform/network/qt/QtNAMThreadSafeProxy.h:
44125
441262010-12-10  Emil Eklund  <eae@chromium.org>
44127
44128        Reviewed by Eric Seidel.
44129
44130        Change EventHandler::dispatchMouseEvent code to use DOM traversal instead of render tree traversal
44131        https://bugs.webkit.org/show_bug.cgi?id=49982
44132
44133        * page/EventHandler.cpp:
44134        (WebCore::EventHandler::dispatchMouseEvent):
44135        Walk up DOM/hosted tree rather than render tree.
44136
441372010-12-10  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
44138
44139        Reviewed by Kenneth Rohde Christiansen.
44140
44141        [Qt] Support a QNetworkAccessManager affined to a different thread.
44142        https://bugs.webkit.org/show_bug.cgi?id=50080
44143
44144        This patch introduce thread safe proxy classes for QNetworkAccessManager
44145        and QNetworkReply.
44146        If run in the same thread, these objects will forward the calls with
44147        Qt::DirectConnection bindings, while in the other case they will use
44148        Qt::QueuedConnection to carry requests accross threads.
44149
44150        This patch basically:
44151        - Makes sure that all access goes through these objects
44152        - Reorders signal connections to make sure we are connected when the
44153          signal comes
44154        - Makes sure that no QObject in the WebCore thread is a child of the
44155          reply which might be in a different thread.
44156        - Forward the data directly in QByteArrays in signals instead of collecting
44157          the data when the signal is handled.
44158
44159        New test: tst_QWebPage::networkAccessManagerOnDifferentThread
44160
44161        * WebCore.pro:
44162        * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
44163        (WebCore::MediaPlayerPrivateQt::commitLoad):
44164        * platform/network/qt/QNetworkReplyHandler.cpp:
44165        (WebCore::FormDataIODevice::FormDataIODevice):
44166        (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
44167        (WebCore::QNetworkReplyHandler::~QNetworkReplyHandler):
44168        (WebCore::QNetworkReplyHandler::setLoadMode):
44169        (WebCore::QNetworkReplyHandler::abort):
44170        (WebCore::QNetworkReplyHandler::release):
44171        (WebCore::ignoreHttpError):
44172        (WebCore::QNetworkReplyHandler::finish):
44173        (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
44174        (WebCore::QNetworkReplyHandler::forwardData):
44175        (WebCore::QNetworkReplyHandler::start):
44176        (WebCore::QNetworkReplyHandler::sendQueuedItems):
44177        * platform/network/qt/QNetworkReplyHandler.h:
44178        * platform/network/qt/QtNAMThreadSafeProxy.cpp: Added.
44179        * platform/network/qt/QtNAMThreadSafeProxy.h: Added.
44180        * platform/network/qt/ResourceHandleQt.cpp:
44181        (WebCore::ResourceHandle::willLoadFromCache):
44182        * platform/qt/CookieJarQt.cpp:
44183        (WebCore::networkAccessManager):
44184        (WebCore::setCookies):
44185        (WebCore::cookies):
44186        (WebCore::cookieRequestHeaderFieldValue):
44187        (WebCore::cookiesEnabled):
44188
441892010-12-09  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
44190
44191        Reviewed by Kenneth Rohde Christiansen.
44192
44193        [Qt] Refactor QNetworkReplyHandler::finish() to prevent crashes.
44194        https://bugs.webkit.org/show_bug.cgi?id=50761
44195
44196        This patch change the order to check if m_reply is null instead,
44197        explicitly deleting the reply before calling start() for a redirect,
44198        or after calling didFinishLoading()/didFail() in other cases.
44199
44200        * platform/network/qt/QNetworkReplyHandler.cpp:
44201        (WebCore::QNetworkReplyHandler::finish):
44202
442032010-12-09  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
44204
44205        Reviewed by Kenneth Rohde Christiansen.
44206
44207        [Qt] Make sure we send the response before any data.
44208        https://bugs.webkit.org/show_bug.cgi?id=50760
44209
44210        This patch make sure the data available flag is set before
44211        we call sendResponseIfNeeded.
44212
44213        * platform/network/qt/QNetworkReplyHandler.cpp:
44214        (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
44215        (WebCore::QNetworkReplyHandler::finish):
44216        (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
44217        (WebCore::QNetworkReplyHandler::forwardData):
44218        (WebCore::QNetworkReplyHandler::resetState):
44219        * platform/network/qt/QNetworkReplyHandler.h:
44220
442212010-12-10  Koan-Sin Tan  <koansin.tan@gmail.com>
44222
44223        Reviewed by Dan Bernstein.
44224
44225        Bopomofo should be part of CJK Ideographs in WebCore/platform/graphics/Font.cpp
44226        https://bugs.webkit.org/show_bug.cgi?id=50668
44227
44228        No new tests. Note that, as said in the bug report discussion,
44229        I did have a test case for the bug. However, to show the test 
44230        case you need some "broken" Microsoft copyrighted fonts, such
44231        as DFKai-SB.
44232
44233        * platform/graphics/Font.cpp:
44234        (WebCore::Font::isCJKIdeograph):
44235
442362010-12-10  Carlos Garcia Campos  <cgarcia@igalia.com>
44237
44238        Reviewed by Martin Robinson.
44239
44240        [GTK] Simplify context-menu handling code
44241        https://bugs.webkit.org/show_bug.cgi?id=49658
44242
44243        * platform/ContextMenuItem.h:
44244        * platform/gtk/ContextMenuGtk.cpp:
44245        (WebCore::ContextMenu::appendItem):
44246        * platform/gtk/ContextMenuItemGtk.cpp:
44247        (WebCore::ContextMenuItem::ContextMenuItem):
44248        (WebCore::ContextMenuItem::~ContextMenuItem):
44249        (WebCore::ContextMenuItem::releasePlatformDescription):
44250        (WebCore::ContextMenuItem::type):
44251        (WebCore::ContextMenuItem::setType):
44252        (WebCore::ContextMenuItem::action):
44253        (WebCore::ContextMenuItem::setAction):
44254        (WebCore::ContextMenuItem::title):
44255        (WebCore::ContextMenuItem::setTitle):
44256        (WebCore::ContextMenuItem::platformSubMenu):
44257        (WebCore::ContextMenuItem::setSubMenu):
44258        (WebCore::ContextMenuItem::setChecked):
44259        (WebCore::ContextMenuItem::setEnabled):
44260
442612010-12-10  Philippe Normand  <pnormand@igalia.com>
44262
44263        Reviewed by Gustavo Noronha Silva.
44264
44265        [GStreamer] un-needed methods
44266        https://bugs.webkit.org/show_bug.cgi?id=50805
44267
44268        No new tests, code cleanup only.
44269
44270        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
44271        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
44272
442732010-12-10  Philippe Normand  <pnormand@igalia.com>
44274
44275        Reviewed by Gustavo Noronha Silva.
44276
44277        [GStreamer] data: source could also support non-base64 encoded URIs
44278        https://bugs.webkit.org/show_bug.cgi?id=30007
44279
44280        Removed our ancient implementation of dataurisrc. We should now
44281        use the one in gst-plugins-bad which is more mature.
44282
44283        * GNUmakefile.am:
44284        * platform/graphics/gstreamer/DataSourceGStreamer.cpp: Removed.
44285        * platform/graphics/gstreamer/DataSourceGStreamer.h: Removed.
44286        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
44287        (WebCore::doGstInit):
44288
442892010-12-10  Zoltan Herczeg  <zherczeg@webkit.org>
44290
44291        Reviewed by Eric Seidel.
44292
44293        [Qt] Fix crashes in debug mode
44294        https://bugs.webkit.org/show_bug.cgi?id=49976
44295
44296        The m_methods hashmap of QtInstance contains InternalFunctions
44297        whose depend on the current RuntimeObject. When we recreate the
44298        RuntimeObject, we should also reset this hashmap.
44299
44300        * bridge/qt/qt_instance.cpp:
44301        (JSC::Bindings::QtInstance::newRuntimeObject):
44302
443032010-12-10  François Sausset  <sausset@gmail.com>
44304
44305        Reviewed by Eric Seidel.
44306
44307        MathML: update baselinePosition() call in RenderMathMLBlock.cpp 
44308        https://bugs.webkit.org/show_bug.cgi?id=50540
44309
44310        The call of baselinePosition() is outdated: new arguments added.
44311
44312        * mathml/RenderMathMLBlock.cpp:
44313        (WebCore::RenderMathMLBlock::paint):
44314
443152010-12-10  Hans Wennborg  <hans@chromium.org>
44316
44317        Reviewed by Jeremy Orlow.
44318
44319        IndexedDB: Numeric keys are floats.
44320        https://bugs.webkit.org/show_bug.cgi?id=50674
44321
44322        Use floating point to represent numeric keys,
44323        add version meta data to the SQLite db,
44324        and migrate object stores that use integers.
44325
44326        * bindings/v8/IDBBindingUtilities.cpp:
44327        (WebCore::createIDBKeyFromValue):
44328        * bindings/v8/custom/V8IDBKeyCustom.cpp:
44329        (WebCore::toV8):
44330        * storage/IDBFactoryBackendImpl.cpp:
44331        (WebCore::createTables):
44332        (WebCore::migrateDatabase):
44333        (WebCore::IDBFactoryBackendImpl::open):
44334        * storage/IDBKey.cpp:
44335        (WebCore::IDBKey::IDBKey):
44336        (WebCore::IDBKey::fromQuery):
44337        (WebCore::IDBKey::bind):
44338        (WebCore::IDBKey::bindWithNulls):
44339        * storage/IDBKey.h:
44340        (WebCore::IDBKey::create):
44341        (WebCore::IDBKey::number):
44342
443432010-12-10  Martin Robinson  <mrobinson@igalia.com>
44344
44345        Reviewed by Xan Lopez.
44346
44347        [Gtk] style="font-family: courier" makes text disappear
44348        https://bugs.webkit.org/show_bug.cgi?id=47452
44349
44350        Don't ever use fonts that do not have any of the three charmaps that
44351        Fontconfig supports (Unicode, Apple Roman and Symbol). If we select
44352        a font that doesn't have one of these charmaps, use the next font in
44353        the list.
44354
44355        Test: platform/gtk/fonts/font-with-no-valid-encoding.html
44356
44357        * platform/graphics/freetype/FontCacheFreeType.cpp:
44358        (WebCore::FontCache::createFontPlatformData): Check whether the
44359        font we selected has a valid Fontconfig charmap.
44360        * platform/graphics/freetype/FontPlatformData.h: Added new method definition.
44361        * platform/graphics/freetype/FontPlatformDataFreeType.cpp:
44362        (WebCore::FontPlatformData::hasCompatibleCharmap): Added this method which
44363        verifies that a font has a valid Fontconfig charmap.
44364
443652010-12-09  Ryosuke Niwa  <rniwa@webkit.org>
44366
44367        Reviewed by Ojan Vafai.
44368
44369        Make DOM Mutation Events Asynchronous
44370        https://bugs.webkit.org/show_bug.cgi?id=46936
44371
44372        Implemented DOM mutations events as scoped events. A scoped event is an event whose
44373        dispatch is done via ScopedEventQueue. The behavior of the queue is controlled by
44374        EventQueueScope objects (RAII idiom), which increments and decrements the scoping level
44375        on its constructor and destructor respectively.
44376
44377        When the scoping level is 0 (initial level), scoped events are dispatched as soon as
44378        they are enqueued and act like synchronous events. When the scoping level is greater than 0,
44379        however, events are queued in ScopedEventQueue and their dispatches are delayed until
44380        the scoping level goes back to 0 (by the destruction of EventQueueScope).
44381
44382        DOMSubtreeModified, DOMNodeInserted, DOMNodeRemoved, DOMNodeRemovedFromDocument,
44383        DOMNodeInsertedIntoDocument, DOMFocusIn, DOMFocusOut, focusin, and focusout are treated as
44384        scoped events, and a scope object is instantiated in EditCommand::apply to delay dispatches
44385        of the events until the completion of each call of EditCommand::doApply.
44386
44387        Test: fast/events/mutation/execCommands.html
44388
44389        * Android.mk: Added ScopedEventQueue.cpp.
44390        * CMakeLists.txt: Ditto.
44391        * WebCore.pro: Ditto.
44392        * GNUmakefile.am: Added ScopedEventQueue.cpp and ScopedEventQueue.h.
44393        * WebCore.gypi:  Ditto.
44394        * WebCore.vcproj/project.vcproj: Ditto.
44395        * WebCore.xcodeproj/project.pbxproj: Ditto.
44396        * dom/ContainerNode.cpp:
44397        (WebCore::dispatchChildInsertionEvents): Calls dispatchScopedEvent.
44398        (WebCore::dispatchChildRemovalEvents): Ditto.
44399        * dom/DOMAllInOne.cpp: Added ScopedEventQueue.cpp.
44400        * dom/Element.cpp:
44401        (WebCore::Element::dispatchAttrRemovalEvent): Ditto. 
44402        (WebCore::Element::dispatchAttrAdditionEvent): Ditto.
44403        * dom/Node.cpp:
44404        (WebCore::Node::dispatchScopedEvent): Added.
44405        (WebCore::Node::dispatchSubtreeModifiedEvent): Calls dispatchScopedEvent.
44406        * dom/Node.h:
44407        * dom/ScopedEventQueue.cpp: Added.
44408        (WebCore::ScopedEventQueue::initialize): Added.
44409        (WebCore::ScopedEventQueue::enqueueEvent): Added.
44410        (WebCore::ScopedEventQueue::dispatchAllEvents): Added.
44411        (WebCore::ScopedEventQueue::dispatchEvent): Added.
44412        (WebCore::ScopedEventQueue::instance): Added.
44413        (WebCore::ScopedEventQueue::incrementScopingLevel): Added.
44414        (WebCore::ScopedEventQueue::decrementScopingLevel): Added.
44415        * dom/ScopedEventQueue.h: Added.
44416        (WebCore::ScopedEventQueue::~ScopedEventQueue): Added.
44417        (WebCore::ScopedEventQueue::ScopedEventQueue): Added.
44418        (WebCore::EventQueueScope::EventQueueScope): Added.
44419        (WebCore::EventQueueScope::~EventQueueScope): Added.
44420        * editing/EditCommand.cpp:
44421        (WebCore::EditCommand::apply): Instantiates EventQueueScope.
44422
444232010-12-09  Sheriff Bot  <webkit.review.bot@gmail.com>
44424
44425        Unreviewed, rolling out r73684.
44426        http://trac.webkit.org/changeset/73684
44427        https://bugs.webkit.org/show_bug.cgi?id=50801
44428
44429        "missing bug number" (Requested by rniwa on #webkit).
44430
44431        * Android.mk:
44432        * CMakeLists.txt:
44433        * GNUmakefile.am:
44434        * WebCore.gypi:
44435        * WebCore.pro:
44436        * WebCore.vcproj/WebCore.vcproj:
44437        * WebCore.xcodeproj/project.pbxproj:
44438        * dom/ContainerNode.cpp:
44439        (WebCore::dispatchChildInsertionEvents):
44440        (WebCore::dispatchChildRemovalEvents):
44441        * dom/DOMAllInOne.cpp:
44442        * dom/Element.cpp:
44443        (WebCore::Element::dispatchAttrRemovalEvent):
44444        (WebCore::Element::dispatchAttrAdditionEvent):
44445        * dom/Node.cpp:
44446        (WebCore::Node::dispatchSubtreeModifiedEvent):
44447        (WebCore::Node::dispatchUIEvent):
44448        * dom/Node.h:
44449        * dom/ScopedEventQueue.cpp: Removed.
44450        * dom/ScopedEventQueue.h: Removed.
44451        * editing/EditCommand.cpp:
44452        (WebCore::EditCommand::apply):
44453
444542010-12-09  Qi Zhang  <qi.2.zhang@nokia.com>
44455
44456        Reviewed by Kenneth Rohde Christiansen.
44457
44458        [Qt] enable orientation flag when QtMobility available
44459        https://bugs.webkit.org/show_bug.cgi?id=50781
44460
44461        When QtMobility available, enable orientation flag by default.
44462
44463        * features.pri:
44464
444652010-12-09  Kenichi Ishibashi  <bashi@google.com>
44466
44467        Reviewed by Kent Tamura.
44468
44469        Improve validation API support of <object> and <keygen>
44470        https://bugs.webkit.org/show_bug.cgi?id=50663
44471
44472        Adds validation API to HTMLObjectElement class.
44473        Makes HTMLKeygenElement::willValidate() return false.
44474
44475        Test: fast/forms/setCustomValidity-existence.html
44476
44477        * html/HTMLKeygenElement.h:
44478        (WebCore::HTMLKeygenElement::willValidate): Added.
44479        * html/HTMLObjectElement.h:
44480        (WebCore::HTMLObjectElement::validationMessage): Added.
44481        (WebCore::HTMLObjectElement::checkValidity): Added.
44482        (WebCore::HTMLObjectElement::setCustomValidity): Added.
44483        * html/HTMLObjectElement.idl: Added validation API properties.
44484
444852010-12-09  Sadrul Habib Chowdhury  <sadrul@chromium.org>
44486
44487        Reviewed by Kent Tamura.
44488
44489        Make sure a non-zero value is used for tile-width to avoid a crash
44490        https://bugs.webkit.org/show_bug.cgi?id=50341
44491
44492        The scaled tile width can be very small at times (e.g. with 'style: font 1
44493        required'). So use a minimum width of 1 instead of using 0 (which leads to a
44494        crash).
44495
44496        Tests: fast/dom/HTMLProgressElement/progress-element-with-style-crash.html
44497
44498        * rendering/RenderThemeChromiumSkia.cpp:
44499        (WebCore::RenderThemeChromiumSkia::paintProgressBar):
44500
445012010-12-09  Ryosuke Niwa  <rniwa@webkit.org>
44502
44503        Reviewed by Ojan Vafai.
44504
44505        Implemented DOM mutations events as scoped events. A scoped event is an event whose
44506        dispatch is done via ScopedEventQueue. The behavior of the queue is controlled by
44507        EventQueueScope objects (RAII idiom), which increments and decrements the scoping level
44508        on its constructor and destructor respectively.
44509
44510        When the scoping level is 0 (initial level), scoped events are dispatched as soon as
44511        they are enqueued and act like synchronous events. When the scoping level is greater than 0,
44512        however, events are queued in ScopedEventQueue and their dispatches are delayed until
44513        the scoping level goes back to 0 (by the destruction of EventQueueScope).
44514
44515        DOMSubtreeModified, DOMNodeInserted, DOMNodeRemoved, DOMNodeRemovedFromDocument,
44516        DOMNodeInsertedIntoDocument, DOMFocusIn, DOMFocusOut, focusin, and focusout are treated as
44517        scoped events, and a scope object is instantiated in EditCommand::apply to delay dispatches
44518        of the events until the completion of each call of EditCommand::doApply.
44519
44520        Test: fast/events/mutation/execCommands.html
44521
44522        * Android.mk: Added ScopedEventQueue.cpp.
44523        * CMakeLists.txt: Ditto.
44524        * WebCore.pro: Ditto.
44525        * GNUmakefile.am: Added ScopedEventQueue.cpp and ScopedEventQueue.h.
44526        * WebCore.gypi:  Ditto.
44527        * WebCore.vcproj/project.vcproj: Ditto.
44528        * WebCore.xcodeproj/project.pbxproj: Ditto.
44529        * dom/ContainerNode.cpp:
44530        (WebCore::dispatchChildInsertionEvents): Calls dispatchScopedEvent.
44531        (WebCore::dispatchChildRemovalEvents): Ditto.
44532        * dom/DOMAllInOne.cpp: Added ScopedEventQueue.cpp.
44533        * dom/Element.cpp:
44534        (WebCore::Element::dispatchAttrRemovalEvent): Ditto. 
44535        (WebCore::Element::dispatchAttrAdditionEvent): Ditto.
44536        * dom/Node.cpp:
44537        (WebCore::Node::dispatchScopedEvent): Added.
44538        (WebCore::Node::dispatchSubtreeModifiedEvent): Calls dispatchScopedEvent.
44539        * dom/Node.h:
44540        * dom/ScopedEventQueue.cpp: Added.
44541        (WebCore::ScopedEventQueue::initialize): Added.
44542        (WebCore::ScopedEventQueue::enqueueEvent): Added.
44543        (WebCore::ScopedEventQueue::dispatchAllEvents): Added.
44544        (WebCore::ScopedEventQueue::dispatchEvent): Added.
44545        (WebCore::ScopedEventQueue::instance): Added.
44546        (WebCore::ScopedEventQueue::incrementScopingLevel): Added.
44547        (WebCore::ScopedEventQueue::decrementScopingLevel): Added.
44548        * dom/ScopedEventQueue.h: Added.
44549        (WebCore::ScopedEventQueue::~ScopedEventQueue): Added.
44550        (WebCore::ScopedEventQueue::ScopedEventQueue): Added.
44551        (WebCore::EventQueueScope::EventQueueScope): Added.
44552        (WebCore::EventQueueScope::~EventQueueScope): Added.
44553        * editing/EditCommand.cpp:
44554        (WebCore::EditCommand::apply): Instantiates EventQueueScope.
44555
445562010-12-09  Sam Weinig  <sam@webkit.org>
44557
44558        Reviewed by Gavin Barraclough.
44559
44560        Fix scrolling with mouse wheel in WebKit2 views.  Once
44561        we coalesce wheel events, we can re-enable this.
44562
44563        * platform/mac/ScrollAnimatorMac.mm:
44564        (WebCore::ScrollAnimatorMac::scroll):
44565
445662010-12-09  Abhishek Arya  <inferno@chromium.org>
44567
44568        Reviewed by James Robinson.
44569
44570        For details element, ensure that if we ended up being inline that we set out replaced
44571        flag so that we are treated like an inline block.
44572        https://bugs.webkit.org/show_bug.cgi?id=50671
44573
44574        Test: fast/html/details-element-render-inline-crash.html
44575
44576        * rendering/RenderDetails.cpp:
44577        (WebCore::RenderDetails::styleDidChange): setReplaced to true if we are set as inline.
44578        * rendering/RenderDetails.h: function definition.
44579
445802010-12-09  Jasmin Lapalme  <jlapalme@druide.com>
44581
44582        Reviewed by Alexey Proskuryakov.
44583
44584        Fix a faulty conversion from UTF-8 to UTF-16 in WebCore during an XSLT transformation.
44585        https://bugs.webkit.org/show_bug.cgi?id=50708
44586
44587        Test: fast/xsl/utf8-chunks.xml
44588
44589        * xml/XSLTProcessorLibxslt.cpp:
44590        (WebCore::writeToVector): now converts and returns the correct byte count when the end of the chunk is in the middle of a multibyte UTF-8 character.
44591
445922010-12-09  Vincent Scheib  <scheib@chromium.org>
44593
44594        Reviewed by James Robinson.
44595
44596        Clip update rectangle for Texture::updateSubRect to texture size
44597        https://bugs.webkit.org/show_bug.cgi?id=49929
44598
44599        Test: fast/canvas/canvas-largedraws.html
44600
44601        * platform/graphics/gpu/Texture.cpp:
44602        (WebCore::Texture::updateSubRect):
44603
446042010-12-09  Kenneth Russell  <kbr@google.com>
44605
44606        Unreviewed. Another speculative Gtk build fix after r73669. Add
44607        needed derived sources to GNUmakefile.am.
44608
44609        * GNUmakefile.am:
44610
446112010-12-09  Kenneth Russell  <kbr@google.com>
44612
44613        Unreviewed. Speculative Gtk build fix after
44614        https://bugs.webkit.org/show_bug.cgi?id=36512 / r73669. Process
44615        all of the WebGL classes' IDL files.
44616
44617        * CMakeLists.txt:
44618
446192010-12-09  Zhenyao Mo  <zmo@google.com>
44620
44621        Reviewed by Kenneth Russell.
44622
44623        Expose constructor functions for instanceof checks of WebGL objects
44624        https://bugs.webkit.org/show_bug.cgi?id=36512
44625
44626        Test: fast/canvas/webgl/instanceof-test.html
44627
44628        * bindings/generic/RuntimeEnabledFeatures.h:
44629        (WebCore::RuntimeEnabledFeatures::webGLActiveInfoEnabled):
44630        (WebCore::RuntimeEnabledFeatures::webGLBufferEnabled):
44631        (WebCore::RuntimeEnabledFeatures::webGLFramebufferEnabled):
44632        (WebCore::RuntimeEnabledFeatures::webGLProgramEnabled):
44633        (WebCore::RuntimeEnabledFeatures::webGLRenderbufferEnabled):
44634        (WebCore::RuntimeEnabledFeatures::webGLShaderEnabled):
44635        (WebCore::RuntimeEnabledFeatures::webGLTextureEnabled):
44636        (WebCore::RuntimeEnabledFeatures::webGLUniformLocationEnabled):
44637        * html/canvas/WebGLActiveInfo.idl: Remove OmitConstructor.
44638        * html/canvas/WebGLBuffer.idl: Ditto.
44639        * html/canvas/WebGLFramebuffer.idl: Ditto.
44640        * html/canvas/WebGLProgram.idl: Ditto.
44641        * html/canvas/WebGLRenderbuffer.idl: Ditto.
44642        * html/canvas/WebGLShader.idl: Ditto.
44643        * html/canvas/WebGLTexture.idl: Ditto.
44644        * html/canvas/WebGLUniformLocation.idl: Ditto.
44645        * page/DOMWindow.idl: Expose constructors for WebGL objects in DOMWindow.
44646
446472010-12-09  Timothy Hatcher  <timothy@apple.com>
44648
44649        Export Color::white and Color::transparent.
44650
44651        Reviewed by Anders Carlsson.
44652
44653        * WebCore.exp.in:
44654
446552010-12-09  Sam Weinig  <sam@webkit.org>
44656
44657        Fix failing Mac tests.
44658
44659        * platform/mac/ScrollAnimatorMac.mm:
44660        (WebCore::ScrollAnimatorMac::scroll): Don't smooth scroll if the default
44661        AppleScrollAnimationEnabled is false.
44662
446632010-12-09  James Robinson  <jamesr@chromium.org>
44664
44665        Reviewed by Kenneth Russell.
44666
44667        [chromium] Compositor needs to manage its VRAM use
44668        https://bugs.webkit.org/show_bug.cgi?id=49629
44669
44670        This adds a basic texture manager to the Chromium compositor to limit the amount of VRAM
44671        used by compositor textures and switches ContentLayerChromium, ImageLayerChromium, and
44672        RenderSurfaceChromium to use managed LayerTexture.  The other *LayerChromium classes (Canvas,
44673        Video, and WebGL) and the root layer are still unmanaged.
44674
44675        The TextureManager works by providing tokens to callers that want to use a managed texture.
44676        The token can be used to request a texture, see if the previously requested texture is still
44677        available, and to protect/unprotect textures when they cannot be collected.  Whenever a
44678        texture is created the manager attempts to free up the least recently used textures until the
44679        total memory use is below the provided threshhold.  If the manager cannot satisfy the memory
44680        limit it will not return any new textures until some old textures are released.
44681
44682        A LayerTexture wraps a TextureManager token, size, and format.  A LayerChromium can check if a
44683        previously requested texture is still available for use and reserve the LayerTexture's underlying
44684        storage between the updateContentsIfDirty() and the draw() call.
44685
44686        Also changes LayerChromium from having separate contentsDirty()/updateContents() calls to a single
44687        updateContentsIfDirty().
44688
44689        Tests: platform/chromium/compositing/lots-of-img-layers-with-opacity.html
44690               platform/chromium/compositing/lots-of-img-layers.html
44691
44692        * WebCore.gypi:
44693        * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
44694        (WebCore::Canvas2DLayerChromium::updateContentsIfDirty):
44695        * platform/graphics/chromium/Canvas2DLayerChromium.h:
44696        * platform/graphics/chromium/ContentLayerChromium.cpp:
44697        (WebCore::ContentLayerChromium::cleanupResources):
44698        (WebCore::ContentLayerChromium::updateContentsIfDirty):
44699        (WebCore::ContentLayerChromium::updateTextureRect):
44700        (WebCore::ContentLayerChromium::draw):
44701        * platform/graphics/chromium/ContentLayerChromium.h:
44702        * platform/graphics/chromium/ImageLayerChromium.cpp:
44703        (WebCore::ImageLayerChromium::updateContentsIfDirty):
44704        * platform/graphics/chromium/ImageLayerChromium.h:
44705        * platform/graphics/chromium/LayerChromium.h:
44706        (WebCore::LayerChromium::updateContentsIfDirty):
44707        (WebCore::LayerChromium::draw):
44708        * platform/graphics/chromium/LayerRendererChromium.cpp:
44709        (WebCore::LayerRendererChromium::LayerRendererChromium):
44710        (WebCore::LayerRendererChromium::useShader):
44711        (WebCore::LayerRendererChromium::prepareToDrawLayers):
44712        (WebCore::LayerRendererChromium::updateRootLayerTextureRect):
44713        (WebCore::LayerRendererChromium::drawLayers):
44714        (WebCore::LayerRendererChromium::getFramebufferPixels):
44715        (WebCore::LayerRendererChromium::createLayerTexture):
44716        (WebCore::LayerRendererChromium::deleteLayerTexture):
44717        (WebCore::LayerRendererChromium::updateLayersRecursive):
44718        (WebCore::LayerRendererChromium::useRenderSurface):
44719        (WebCore::LayerRendererChromium::drawLayer):
44720        (WebCore::LayerRendererChromium::setScissorToRect):
44721        (WebCore::LayerRendererChromium::setDrawViewportRect):
44722        (WebCore::LayerRendererChromium::initializeSharedObjects):
44723        (WebCore::LayerRendererChromium::cleanupSharedObjects):
44724        * platform/graphics/chromium/LayerRendererChromium.h:
44725        (WebCore::LayerRendererChromium::renderSurfaceSharedValues):
44726        (WebCore::LayerRendererChromium::textureManager):
44727        * platform/graphics/chromium/LayerTexture.cpp: Added.
44728        (WebCore::LayerTexture::LayerTexture):
44729        (WebCore::LayerTexture::~LayerTexture):
44730        (WebCore::LayerTexture::isValid):
44731        (WebCore::LayerTexture::reserve):
44732        (WebCore::LayerTexture::unreserve):
44733        (WebCore::LayerTexture::bindTexture):
44734        (WebCore::LayerTexture::framebufferTexture2D):
44735        * platform/graphics/chromium/LayerTexture.h: Added.
44736        (WebCore::LayerTexture::create):
44737        * platform/graphics/chromium/PluginLayerChromium.cpp:
44738        (WebCore::PluginLayerChromium::updateContentsIfDirty):
44739        * platform/graphics/chromium/PluginLayerChromium.h:
44740        * platform/graphics/chromium/RenderSurfaceChromium.cpp:
44741        (WebCore::RenderSurfaceChromium::SharedValues::SharedValues):
44742        (WebCore::RenderSurfaceChromium::SharedValues::~SharedValues):
44743        (WebCore::RenderSurfaceChromium::RenderSurfaceChromium):
44744        (WebCore::RenderSurfaceChromium::cleanupResources):
44745        (WebCore::RenderSurfaceChromium::prepareContentsTexture):
44746        (WebCore::RenderSurfaceChromium::draw):
44747        * platform/graphics/chromium/RenderSurfaceChromium.h:
44748        (WebCore::RenderSurfaceChromium::SharedValues::shaderProgram):
44749        (WebCore::RenderSurfaceChromium::SharedValues::shaderSamplerLocation):
44750        (WebCore::RenderSurfaceChromium::SharedValues::shaderMatrixLocation):
44751        (WebCore::RenderSurfaceChromium::SharedValues::shaderAlphaLocation):
44752        (WebCore::RenderSurfaceChromium::SharedValues::initialized):
44753        * platform/graphics/chromium/TextureManager.cpp: Added.
44754        (WebCore::memoryUseBytes):
44755        (WebCore::TextureManager::TextureManager):
44756        (WebCore::TextureManager::getToken):
44757        (WebCore::TextureManager::releaseToken):
44758        (WebCore::TextureManager::hasTexture):
44759        (WebCore::TextureManager::protectTexture):
44760        (WebCore::TextureManager::unprotectTexture):
44761        (WebCore::TextureManager::reduceMemoryToLimit):
44762        (WebCore::TextureManager::addTexture):
44763        (WebCore::TextureManager::removeTexture):
44764        (WebCore::TextureManager::requestTexture):
44765        * platform/graphics/chromium/TextureManager.h: Added.
44766        (WebCore::TextureManager::create):
44767        * platform/graphics/chromium/VideoLayerChromium.cpp:
44768        (WebCore::VideoLayerChromium::updateContentsIfDirty):
44769        * platform/graphics/chromium/VideoLayerChromium.h:
44770        * platform/graphics/chromium/WebGLLayerChromium.cpp:
44771        (WebCore::WebGLLayerChromium::updateContentsIfDirty):
44772        * platform/graphics/chromium/WebGLLayerChromium.h:
44773
447742010-12-09  Darin Adler  <darin@apple.com>
44775
44776        Reviewed by Sam Weinig.
44777
44778        Rework my recent setLocation refactoring to use DOMWindow instead of Frame.
44779        It's difficult to make correct security decisions based on Frame since a
44780        Frame can navigate to a new document.
44781
44782        Fixes some test failures that I somehow missed before the last check-in.
44783
44784        * bindings/js/JSDOMWindowBase.cpp:
44785        (WebCore::JSDOMWindowBase::crossDomainAccessErrorMessage): Call to the
44786        shell DOMWindow; not sure this one matters, but it's closer to the old
44787        code before my last patch. Also pass the DOMWindow rather than the
44788        frame to crossDomainAccessErrorMessage.
44789
44790        * bindings/js/JSDOMWindowCustom.cpp:
44791        (WebCore::JSDOMWindow::setLocation): Pass DOMWindow rather than Frame
44792        to the DOMWindow::setLocation function.
44793
44794        * page/DOMWindow.cpp:
44795        (WebCore::DOMWindow::setLocation): Take DOMWindow rather than Frame.
44796        (WebCore::DOMWindow::crossDomainAccessErrorMessage): Ditto.
44797
44798        * page/DOMWindow.h: Update new functions to take DOMWindow rather
44799        than Frame.
44800
448012010-12-09  Sam Weinig  <sam@webkit.org>
44802
44803        Try and fix the mac build.
44804
44805        * WebCore.exp.in:
44806
448072010-12-09  Dan Bernstein  <mitz@apple.com>
44808
44809        Reviewed by Dave Hyatt.
44810
44811        Removed an unused variable.
44812
44813        * rendering/InlineFlowBox.cpp:
44814        (WebCore::InlineFlowBox::computeLogicalBoxHeights): Removed parentLineHeight.
44815
448162010-12-09  Darin Adler  <darin@apple.com>
44817
44818        Reviewed by Geoffrey Garen.
44819
44820        Move DOMWindow::setLocation logic into DOMWindow class and out of JavaScript binding
44821        https://bugs.webkit.org/show_bug.cgi?id=50640
44822
44823        * bindings/js/JSDOMBinding.cpp:
44824        (WebCore::printErrorMessageForFrame): Removed body; just call through to
44825        DOMWindow::printErrorMessage.
44826
44827        * bindings/js/JSDOMWindowBase.cpp:
44828        (WebCore::JSDOMWindowBase::crossDomainAccessErrorMessage): Removed body;
44829        just call through to DOMWindow::crossDomainAccessErrorMessage.
44830
44831        * bindings/js/JSDOMWindowCustom.cpp:
44832        (WebCore::JSDOMWindow::setLocation): Changed terminology to use activeFrame and
44833        firstFrame, rather than the older lexicalFrame and dynamicFrame. Removed most
44834        of the body and moved it into DOMWindow::setLocation.
44835
44836        * page/DOMWindow.cpp:
44837        (WebCore::DOMWindow::setLocation): Added. Does all the same work that
44838        JSDOMWindow::setLocation used to do, but in a way that's not specific
44839        to JavaScript.
44840        (WebCore::DOMWindow::printErrorMessage): Added.
44841        (WebCore::DOMWindow::crossDomainAccessErrorMessage): Added.
44842
44843        * page/DOMWindow.h: Added setLocation, printErrorMessage, and
44844        crossDomainAccessErrorMessage.
44845
448462010-12-09  Sam Weinig  <sam@webkit.org>
44847
44848        Reviewed by Dan Bernstein.
44849
44850        WebKit2 needs smooth scrolling support on the mac
44851        <rdar://problem/8219402>
44852
44853        * WebCore.xcodeproj/project.pbxproj: Change ScrollAnimatorMac.cpp to ScrollAnimatorMac.mm.
44854        * platform/mac/ScrollAnimatorMac.cpp: Removed.
44855        * platform/mac/ScrollAnimatorMac.h:
44856        * platform/mac/ScrollAnimatorMac.mm: Copied from platform/mac/ScrollAnimatorMac.cpp.
44857        (-[ScrollAnimationHelperDelegate initWithScrollAnimator:WebCore::]):
44858        (-[ScrollAnimationHelperDelegate bounds]):
44859        (-[ScrollAnimationHelperDelegate _immediateScrollToPoint:]):
44860        (-[ScrollAnimationHelperDelegate convertSizeToBase:]):
44861        (-[ScrollAnimationHelperDelegate convertSizeFromBase:]):
44862        (-[ScrollAnimationHelperDelegate superview]):
44863        (-[ScrollAnimationHelperDelegate documentView]):
44864        (-[ScrollAnimationHelperDelegate window]):
44865        (-[ScrollAnimationHelperDelegate _recursiveRecomputeToolTips]):
44866        (WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
44867        (WebCore::ScrollAnimatorMac::scroll):
44868        (WebCore::ScrollAnimatorMac::setScrollPositionAndStopAnimation):
44869        (WebCore::ScrollAnimatorMac::currentPosition):
44870        (WebCore::ScrollAnimatorMac::immediateScrollToPoint):
44871        Add implementation of ScrollAnimator for the Mac.
44872
448732010-12-09  Brady Eidson  <beidson@apple.com>
44874
44875        Reviewed by Anders Carlsson.
44876
44877        <rdar://problem/8613779> and https://bugs.webkit.org/show_bug.cgi?id=50777
44878        WebKit2 ContextMenuClient support
44879
44880        Export some symbols and headers needed by WebKit2 Mac:
44881        * WebCore.exp.in:
44882        * WebCore.xcodeproj/project.pbxproj:
44883
448842010-12-09  Sheriff Bot  <webkit.review.bot@gmail.com>
44885
44886        Unreviewed, rolling out r73635.
44887        http://trac.webkit.org/changeset/73635
44888        https://bugs.webkit.org/show_bug.cgi?id=50778
44889
44890        'Side-effects on 3 css tests needs closer review' (Requested
44891        by mwenge on #webkit).
44892
44893        * platform/graphics/qt/ImageQt.cpp:
44894        (loadResourcePixmap):
44895        * platform/qt/RenderThemeQt.cpp:
44896        (WebCore::RenderThemeQt::computeSizeBasedOnStyle):
44897        (WebCore::RenderThemeQt::paintSearchField):
44898        (WebCore::RenderThemeQt::adjustSearchFieldStyle):
44899        (WebCore::RenderThemeQt::adjustSearchFieldCancelButtonStyle):
44900        (WebCore::RenderThemeQt::paintSearchFieldCancelButton):
44901        * platform/qt/RenderThemeQt.h:
44902
449032010-12-09  Robert Hogan  <robert@webkit.org>
44904
44905        Reviewed by Andreas Kling.
44906
44907        [Qt] Search input field doesn't have cancel button
44908
44909        Add a cancel button to the search field and make it customizable
44910        by the client. For now, use the close dialog button associated
44911        with the application's style as the default.
44912
44913        https://bugs.webkit.org/show_bug.cgi?id=42887
44914
44915        * platform/graphics/qt/ImageQt.cpp:
44916        (loadResourcePixmap):
44917        * platform/qt/RenderThemeQt.cpp:
44918        (WebCore::RenderThemeQt::computeSizeBasedOnStyle):
44919        (WebCore::RenderThemeQt::paintSearchField):
44920        (WebCore::RenderThemeQt::adjustSearchFieldStyle):
44921        (WebCore::RenderThemeQt::adjustSearchFieldCancelButtonStyle):
44922        (WebCore::RenderThemeQt::convertToPaintingRect):
44923        (WebCore::RenderThemeQt::paintSearchFieldCancelButton):
44924        * platform/qt/RenderThemeQt.h:
44925
449262010-12-09  Yael Aharon  <yael.aharon@nokia.com>
44927
44928        Reviewed by Antonio Gomes.
44929
44930        Spatial Navigation: Crash when handling iframe of size 0.
44931        https://bugs.webkit.org/show_bug.cgi?id=50730
44932
44933        if we have a frame of size 0, we would get into infinite loop and eventually crash. The reason is
44934        that when the algorithm sees a starting rect of size 0, it assumes that there is no focused node,
44935        thus restarts itself. The solution is to avoid considering iframes with size 0 for the spatial
44936        navigation algorithm.
44937
44938        Test: fast/spatial-navigation/snav-hidden-iframe-zero-size.html
44939
44940        * page/FocusController.cpp:
44941        (WebCore::updateFocusCandidateIfNeeded):
44942
449432010-12-09  Sheriff Bot  <webkit.review.bot@gmail.com>
44944
44945        Unreviewed, rolling out r73616.
44946        http://trac.webkit.org/changeset/73616
44947        https://bugs.webkit.org/show_bug.cgi?id=50772
44948
44949        Breaks chromium win build (Requested by hwennborg on #webkit).
44950
44951        * bindings/v8/IDBBindingUtilities.cpp:
44952        (WebCore::createIDBKeyFromValue):
44953        * bindings/v8/custom/V8IDBKeyCustom.cpp:
44954        (WebCore::toV8):
44955        * storage/IDBFactoryBackendImpl.cpp:
44956        (WebCore::createTables):
44957        (WebCore::IDBFactoryBackendImpl::open):
44958        * storage/IDBKey.cpp:
44959        (WebCore::IDBKey::IDBKey):
44960        (WebCore::IDBKey::fromQuery):
44961        (WebCore::IDBKey::bind):
44962        (WebCore::IDBKey::bindWithNulls):
44963        * storage/IDBKey.h:
44964        (WebCore::IDBKey::create):
44965        (WebCore::IDBKey::number):
44966
449672010-12-09  Antonio Gomes  <agomes@rim.com>
44968
44969        Rubber stamped by by Gustavo Noronha Silva.
44970
44971        Buildfix for GTK+ with building with -no-video.
44972
44973        paintStockIcon static function was implemented under the ENABLE(VIDEO) guard
44974        but used from outside the guard. See RenderThemeGtk::paintSearchFieldResultsDecoration()
44975        and RenderThemeGtk::paintSearchFieldCancelButton() methods.
44976
44977        * platform/gtk/RenderThemeGtk.cpp:
44978        (WebCore::getMediaElementFromRenderObject):
44979
449802010-12-07  Antonio Gomes  <agomes@rim.com>
44981
44982        Reviewed by Daniel Bates.
44983
44984        Spatial Navigation: code clean up
44985        https://bugs.webkit.org/show_bug.cgi?id=50666
44986
44987        Patch unifies two FocusCandidate constructors, making caller sites
44988        simpler. Now the special handling HTMLAreaElement gets is done within
44989        the non default constructor (i.e. FocusCanditate(Node*, FocusDirection)).
44990
44991        No new tests needed.
44992
44993        * page/FocusController.cpp:
44994        (WebCore::FocusController::findFocusCandidateInContainer):
44995        * page/SpatialNavigation.cpp:
44996        (WebCore::FocusCandidate::FocusCandidate):
44997
449982010-12-09  Philippe Normand  <pnormand@igalia.com>
44999
45000        Reviewed by Eric Carlson.
45001
45002        [GStreamer] disable fullscreen on MacOS Tiger and Leopard
45003        https://bugs.webkit.org/show_bug.cgi?id=50748
45004
45005        Don't support fullscreen video on Tiger and Leopard, just like the
45006        QTKit player.
45007
45008        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
45009        (WebCore::MediaPlayerPrivateGStreamer::supportsFullscreen):
45010
450112010-12-06  Philippe Normand  <pnormand@igalia.com>
45012
45013        Reviewed by Martin Robinson.
45014
45015        [GTK] Support the Mozilla-style Fullscreen Javascript API
45016        https://bugs.webkit.org/show_bug.cgi?id=50572
45017
45018        * GNUmakefile.am: enable the Javascript Fullscreen API feature if
45019        it's been requested at configure time.
45020
450212010-12-09  Yong Li  <yoli@rim.com>
45022
45023        Reviewed by Darin Adler.
45024
45025        Check the return value of ImageBuffer::create()
45026        to avoid crash when ImageBuffer::create() fails.
45027        https://bugs.webkit.org/show_bug.cgi?id=50631
45028
45029        No new test because it relies on the platform implementation
45030        of ImageBuffer. It is hard to make ImageBuffer::create() fail
45031        in most ports.
45032
45033        * platform/graphics/GeneratedImage.cpp:
45034        (WebCore::GeneratedImage::drawPattern):
45035
450362010-12-09  Maciej Stachowiak  <mjs@apple.com>
45037
45038        Reviewed by Dan Bernstein.
45039
45040        Implement "Use Selection for Find" in WebKit2
45041        https://bugs.webkit.org/show_bug.cgi?id=50737
45042        <rdar://problem/8564881>
45043
45044        Implement a TakeFindStringFromSelection editor command. This is
45045        used solely to implement the "Use Selection for Find" menu command
45046        on Mac, and is not made available to script. On WebKit2, it is
45047        very convenient to reuse the editing machinery since this command
45048        is very similar to Copy.
45049
45050        * editing/Editor.h:
45051        * editing/EditorCommand.cpp:
45052        (WebCore::executeTakeFindStringFromSelection): Call to a mac-only Editor function.
45053        (WebCore::enabledTakeFindStringFromSelection): Check using Editor::canCopyExcludingStandaloneImage
45054        (WebCore::createCommandMap): Add "TakeFindStringFromSelection" command.
45055        * editing/mac/EditorMac.mm:
45056        (WebCore::Editor::canCopyExcludingStandaloneImages): Helper function; we can't use Editor::canCopy
45057        since it would make no sense to enable "Use Selection for Find" when viewing a standalone image
45058        document.
45059        (WebCore::Editor::takeFindStringFromSelection): Implement by copying the selected text
45060        to the special Find pasteboard.
45061
450622010-12-09  Abhishek Arya  <inferno@chromium.org>
45063
45064        Reviewed by Dimitri Glazkov.
45065
45066        As part of r73559, I added the referenceNode check to validate whether the root
45067        node of the iterator matches the node which is getting moved to other document.
45068        referenceNode is initialized to root, however can get moved using previousNode
45069        and nextNode methods, so it is required to use root directly.
45070        https://bugs.webkit.org/show_bug.cgi?id=50764
45071
45072        Test: fast/dom/node-iterator-reference-node-moved-crash.html
45073
45074        * dom/Document.cpp:
45075        (WebCore::Document::moveNodeIteratorsToNewDocument): change referenceNode to root.
45076
450772010-12-08  Dimitri Glazkov  <dglazkov@chromium.org>
45078
45079        Reviewed by Darin Adler.
45080
45081        Provide a generic way to store shadowParent on a Node.
45082        https://bugs.webkit.org/show_bug.cgi?id=50184
45083
45084        This patch makes TreeShared::m_parent act as either parentNode() or
45085        shadowHost() for Node. The distinction is controlled by IsShadowRootFlag.
45086
45087        Refactoring, so no new tests. See performance result testing in bug.
45088
45089        * dom/Element.cpp:
45090        (WebCore::Element::recalcStyle): Changed to use parentOrHostNode().
45091        * dom/Node.cpp:
45092        (WebCore::Node::shadowHost): Added.
45093        (WebCore::Node::setShadowHost): Added.
45094        (WebCore::Node::isContentEditable): Changed to use parentOrHostNode().
45095        (WebCore::Node::isContentRichlyEditable): Ditto.
45096        (WebCore::Node::nextRenderer): Ditto.
45097        (WebCore::Node::virtualComputedStyle): Ditto.
45098        (WebCore::Node::canStartSelection): Ditto.
45099        (WebCore::Node::shadowTreeRootNode): Changed to use parentNodeGuaranteedHostFree().
45100        (WebCore::Node::getEventAncestors): Ditto.
45101        (WebCore::Node::defaultEventHandler): Changed to use parentOrHostNode(). 
45102        * dom/Node.h: Added an extra flag and adjusted bit counts.
45103        (WebCore::Node::isShadowNode): Made non-virtual, switched to use flag.
45104        (WebCore::Node::parentNode): Made to recognize flag.
45105        (WebCore::Node::parentOrHostNode): Changed to use straight parent() and made const.
45106        (WebCore::Node::parentNodeGuaranteedHostFree): Added.
45107        (WebCore::Node::shadowParentNode): Made non-virtual and const.
45108        * editing/TextIterator.cpp:
45109        (WebCore::depthCrossingShadowBoundaries): Changed to use parentOrHostNode();
45110        (WebCore::nextInPreOrderCrossingShadowBoundaries): Ditto.
45111        (WebCore::previousInPostOrderCrossingShadowBoundaries):  Ditto.
45112        (WebCore::setUpFullyClippedStack): Ditto.
45113        (WebCore::TextIterator::advance): Ditto.
45114        (WebCore::SimplifiedBackwardsTextIterator::advance): Ditto.
45115        * page/DOMSelection.cpp:
45116        (WebCore::DOMSelection::anchorNode): Changed to use parentNodeGuaranteedHostFree().
45117        (WebCore::DOMSelection::focusNode): Ditto.
45118        (WebCore::DOMSelection::baseNode): Ditto.
45119        (WebCore::DOMSelection::extentNode): Ditto.
45120        (WebCore::DOMSelection::getRangeAt): Ditto.
45121        * rendering/MediaControlElements.cpp:
45122        (WebCore::MediaControlShadowRootElement::MediaControlShadowRootElement):
45123            Changed to setShadowHost().
45124        (WebCore::MediaControlShadowRootElement::updateStyle): Changed to use shadowHost().
45125        (WebCore::MediaControlShadowRootElement::detach): Added an override to
45126            explicitly set shadowHost to 0. Otherwise, the element will leak.
45127        * rendering/MediaControlElements.h: Added detach def, removed members that are
45128            no longer needed.
45129        * rendering/RenderSVGShadowTreeRootContainer.cpp:
45130        (WebCore::RenderSVGShadowTreeRootContainer::~RenderSVGShadowTreeRootContainer):
45131            Added explicit clearing of shadowHost to avoid leaking and crashes,
45132            because SVG shadow DOM can be dynamically attached/detached, producing
45133            stale nodes in over/out event handling.
45134        * rendering/RenderSlider.cpp:
45135        (WebCore::SliderThumbElement::defaultEventHandler): Changed to use shadowHost().
45136        * rendering/RenderTextControlSingleLine.cpp:
45137        (WebCore::RenderTextControlSingleLine::~RenderTextControlSingleLine):
45138            Added explicit clearing of shadowHost and explicit destruction to
45139            avoid out-of-order removal of children.
45140        * rendering/RenderTreeAsText.cpp:
45141        (WebCore::nodePosition): Simplified code.
45142        * rendering/SVGShadowTreeElements.cpp:
45143        (WebCore::SVGShadowTreeRootElement::SVGShadowTreeRootElement): Added
45144            setting of shadowHost.
45145        (WebCore::SVGShadowTreeRootElement::attachElement): Changed to use shadowHost().
45146        (WebCore::SVGShadowTreeRootElement::clearShadowHost): Added.
45147        * rendering/SVGShadowTreeElements.h: Added def, removed members that are
45148             no longer needed.
45149        * rendering/ShadowElement.cpp:
45150        (WebCore::ShadowBlockElement::initAsPart): Changed to use shadowHost().
45151        * rendering/ShadowElement.h: Removed members that are no longer needed.
45152        (WebCore::ShadowElement::ShadowElement): Added setting of shadowHost.
45153        (WebCore::ShadowElement::detach): Added.
45154        * rendering/TextControlInnerElements.cpp:
45155        (WebCore::TextControlInnerElement::TextControlInnerElement): Added setting
45156            of shadowHost.
45157        (WebCore::TextControlInnerElement::attachInnerElement): Changed to use
45158            isShadowNode().
45159        (WebCore::TextControlInnerElement::detach): Added.
45160        * rendering/TextControlInnerElements.h: Removed members that are no
45161            longer needed.
45162        * svg/SVGElement.cpp:
45163        (WebCore::SVGElement::ownerSVGElement): Simplified code.
45164        (WebCore::SVGElement::viewportElement): Ditto.
45165        * svg/SVGLocatable.cpp:
45166        (WebCore::SVGLocatable::computeCTM): Ditto.
45167        * svg/SVGStyledElement.cpp:
45168        (WebCore::SVGStyledElement::title): Ditto.
45169        * svg/SVGUseElement.cpp:
45170        (WebCore::ShadowTreeUpdateBlocker::while): Ditto.
45171
451722010-12-09  Brady Eidson  <beidson@apple.com>
45173
45174        Reviewed by Maciej Stachowiak.
45175
45176        <rdar://problem/7660733> and https://bugs.webkit.org/show_bug.cgi?id=50191
45177        WebKit2 Authentication Support
45178
45179        * WebCore.exp.in:
45180
451812010-12-09  Peter Beverloo  <peter@lvp-media.com>
45182
45183        Reviewed by Maciej Stachowiak.
45184
45185        Default CSS definitions for the figure and figcaption elements.
45186
45187        Tests: fast/html/figcaption-element.html
45188               fast/html/figure-element.html
45189
45190        * css/html.css:
45191        (figure): The default figure-style equals a blockquote
45192        (figcaption): A non-sectioning block-level element
45193
451942010-12-09  Yury Semikhatsky  <yurys@chromium.org>
45195
45196        Reviewed by Pavel Feldman.
45197
45198        Web Inspector: Console records for failed XHRs should contain call stack and request method
45199        https://bugs.webkit.org/show_bug.cgi?id=50390
45200
45201        When inspector front-end is open we capture call stack at the place where request is sent and
45202        pass the stack along with other request data. There is a new type of console messages which
45203        is NetworkErrorMessageType, all messages of that type will have requestId field initialized
45204        with the corresponding network request identifier so that later on when we need to display
45205        that message in the front-end we could pull request data from the Network panel using
45206        this identifier. If there are no data for given requestId message formatting falls back to
45207        the old implementation which lacks such things as call stack, request method and exact
45208        source location.
45209
45210        * inspector/ConsoleMessage.cpp:
45211        (WebCore::ConsoleMessage::ConsoleMessage):
45212        (WebCore::ConsoleMessage::addToFrontend):
45213        (WebCore::ConsoleMessage::isEqual):
45214        * inspector/ConsoleMessage.h:
45215        * inspector/Inspector.idl:
45216        * inspector/InspectorController.cpp:
45217        (WebCore::InspectorController::didReceiveResponse):
45218        (WebCore::InspectorController::didFailLoading):
45219        * inspector/InspectorResourceAgent.cpp:
45220        (WebCore::InspectorResourceAgent::identifierForInitialRequest):
45221        * inspector/front-end/ConsoleView.js:
45222        (WebInspector.ConsoleView.prototype.updateMessageRepeatCount):
45223        (WebInspector.ConsoleMessage):
45224        (WebInspector.ConsoleMessage.prototype._formatMessage):
45225        (WebInspector.ConsoleMessage.prototype.toMessageElement):
45226        (WebInspector.ConsoleMessage.prototype.toString):
45227        (WebInspector.ConsoleMessage.prototype.isEqual):
45228        * inspector/front-end/ResourceManager.js:
45229        (WebInspector.ResourceManager.prototype.identifierForInitialRequest):
45230        * inspector/front-end/inspector.js:
45231        (WebInspector.addConsoleMessage):
45232        * page/Console.h:
45233
452342010-12-09  Dai Mikurube  <dmikurube@google.com>
45235
45236        Reviewed by Kent Tamura.
45237
45238        Implement "required" attribute for select tags
45239        https://bugs.webkit.org/show_bug.cgi?id=50380
45240
45241        Test: fast/forms/select-live-pseudo-selectors.html
45242              platform/mac/fast/objc/dom-html-select-live-pseudo-selectors.html
45243
45244        * dom/SelectElement.cpp:
45245        (WebCore::SelectElement::updateValidity): Added. It's a pure virtual function which is prepared so that HTMLSelectElement::updateValidity() calls HTMLSelectElement::setNeedsValidityCheck().
45246        (WebCore::SelectElement::parseMultipleAttribute): Added calling updateValidity().
45247        * html/HTMLSelectElement.cpp:
45248        (WebCore::HTMLSelectElement::deselectItems): Added calling setNeedsValidityCheck() to enable validity check after changing. No tests for this change since this function is not exposed to JavaScript or any web interface.
45249        (WebCore::HTMLSelectElement::setSelectedIndex): Added calling setNeedsValidityCheck().
45250        (WebCore::HTMLSelectElement::setSelectedIndexByUser): Added calling setNeedsValidityCheck().
45251        (WebCore::HTMLSelectElement::valueMissing): Added valueMissing() to check if selecting an invalid or placeholder label option when a valid required attribute is specified.
45252        (WebCore::HTMLSelectElement::listBoxSelectItem): Added calling setNeedsValidityCheck(). No tests for this change since it is not called yet. Look at the bug 36177 and the changeset 56180.
45253        (WebCore::HTMLSelectElement::add): Added calling setNeedsValidityCheck().
45254        (WebCore::HTMLSelectElement::remove): Added calling setNeedsValidityCheck().
45255        (WebCore::HTMLSelectElement::restoreFormControlState): Added calling setNeedsValidityCheck().
45256        (WebCore::HTMLSelectElement::parseMappedAttribute): Added calling setNeedsValidityCheck().
45257        (WebCore::HTMLSelectElement::selectAll): Added calling setNeedsValidityCheck().
45258        (WebCore::HTMLSelectElement::reset): Added calling setNeedsValidityCheck().
45259        (WebCore::HTMLSelectElement::updateListBoxSelection): Added calling setNeedsValidityCheck(). Skipped adding tests for this change as too complicated..
45260        (WebCore::HTMLSelectElement::setLength): Added calling setNeedsValidityCheck().
45261        (WebCore::HTMLSelectElement::isRequiredFormControl): Check if required or not.
45262        (WebCore::HTMLSelectElement::hasPlaceholderLabelOption): Added.
45263        (WebCore::HTMLSelectElement::updateValidity): Added. It calls setNeedsValidityCheck().
45264        * html/HTMLSelectElement.h:
45265        (WebCore::HTMLSelectElement::isOptionalFormControl): Check if not required.
45266        * html/HTMLSelectElement.idl: Added a required attribute to select elements..
45267        * html/ValidityState.cpp:
45268        (WebCore::ValidityState::valueMissing): Added valueMissing check for select elements into the global checker, ValidityState::valueMissing().
45269        * wml/WMLSelectElement.h:
45270        (WebCore::WMLSelectElement::updateValidity): Added. It does nothing.
45271
452722010-12-07  Jeremy Orlow  <jorlow@chromium.org>
45273
45274        Reviewed by Steve Block.
45275
45276        IndexedDB returns the wrong exceptions
45277        https://bugs.webkit.org/show_bug.cgi?id=50632
45278
45279        IndexedDB exceptions need to have an offset so they can
45280        be distinguished from DOM exceptions.  We also need to
45281        add strings for the various exceptions.  Lastly, make
45282        IDBDatabaseException use the common exception base class.
45283
45284        * bindings/js/JSDOMBinding.cpp:
45285        (WebCore::setDOMException):
45286        * bindings/v8/V8Proxy.cpp:
45287        (WebCore::V8Proxy::setDOMException):
45288        * dom/ExceptionCode.cpp:
45289        (WebCore::getExceptionCodeDescription):
45290        * dom/ExceptionCode.h:
45291        * storage/IDBDatabaseError.h:
45292        (WebCore::IDBDatabaseError::code):
45293        * storage/IDBDatabaseException.h:
45294        (WebCore::IDBDatabaseException::create):
45295        (WebCore::IDBDatabaseException::ErrorCodeToExceptionCode):
45296        (WebCore::IDBDatabaseException::IDBDatabaseException):
45297        * storage/IDBDatabaseException.idl:
45298
452992010-12-09  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
45300
45301        Build fix for GTK+3. Use functions added for GTK+ 2.24 to get the
45302        GDK window size.
45303
45304        * plugins/gtk/gtk2xtbin.c:
45305        (gtk_xtbin_realize):
45306
453072010-12-09  Siddharth Mathur  <siddharth.mathur@nokia.com>
45308
45309        Reviewed by Laszlo Gombos.
45310
45311        Use BUILDING_WEBKIT like other ports
45312        https://bugs.webkit.org/show_bug.cgi?id=50713
45313
45314        * WebCore.pro: Change BUILD_WEBKIT to BUILDING_WEBKIT
45315
453162010-12-08  Erik Arvidsson  <arv@chromium.org>
45317
45318        Reviewed by Darin Adler.
45319
45320        Replace getAttribute().isNull() with fastHasAttribute()
45321        https://bugs.webkit.org/show_bug.cgi?id=50719
45322
45323        Covered by existing tests.
45324
45325        * dom/SelectElement.cpp:
45326        (WebCore::SelectElement::reset):
45327        * html/HTMLAppletElement.cpp:
45328        (WebCore::HTMLAppletElement::rendererIsNeeded):
45329        * html/HTMLCollection.cpp:
45330        (WebCore::HTMLCollection::itemAfter):
45331        * html/HTMLFormControlElement.cpp:
45332        (WebCore::HTMLFormControlElement::formNoValidate):
45333        * html/HTMLFormElement.cpp:
45334        (WebCore::HTMLFormElement::noValidate):
45335        * html/HTMLInputElement.cpp:
45336        (WebCore::HTMLInputElement::defaultChecked):
45337        (WebCore::HTMLInputElement::multiple):
45338        (WebCore::HTMLInputElement::webkitdirectory):
45339        * html/HTMLOptionElement.cpp:
45340        (WebCore::HTMLOptionElement::defaultSelected):
45341        * html/HTMLScriptElement.cpp:
45342        (WebCore::HTMLScriptElement::asyncAttributeValue):
45343        (WebCore::HTMLScriptElement::deferAttributeValue):
45344        * rendering/RenderFileUploadControl.cpp:
45345        (WebCore::RenderFileUploadControl::allowsMultipleFiles):
45346        (WebCore::RenderFileUploadControl::allowsDirectoryUpload):
45347
453482010-12-08  Nicolas Dufresne  <nicolas.dufresne@collabora.co.uk>
45349
45350        Reviewed by Martin Robinson.
45351
45352        Full page size flash plugins do not show in all situations
45353        https://bugs.webkit.org/show_bug.cgi?id=47742
45354
45355        This patch moves the plugin widget size allocation after the
45356        NPP_SetWindow is called with the effect that the resize of Flash
45357        content no longer result in grey flash. This seems logical since the
45358        widget tree cannot be fully constructed before the plugin receives
45359        the new container window.
45360
45361        Test: manual-tests/plugins/gtk-windowed-grey-glitch.html
45362
45363        * plugins/gtk/PluginViewGtk.cpp:
45364        (WebCore::PluginView::setNPWindowIfNeeded):
45365
453662010-12-08  David Hyatt  <hyatt@apple.com>
45367
45368        Reviewed by Simon Fraser.
45369
45370        Fix regression from xji's wheel scroll patch.  The vertical case is looking at the horizontal
45371        maximum position and not the vertical position.
45372
45373        * platform/ScrollView.cpp:
45374        (WebCore::ScrollView::wheelEvent):
45375
453762010-12-08  Sam Weinig  <sam@webkit.org>
45377
45378        Reviewed by Darin Adler.
45379
45380        Need a way to get a WKBundleFrameRef from JS HTMLIFrameElement
45381        https://bugs.webkit.org/show_bug.cgi?id=50726
45382
45383        * WebCore.xcodeproj/project.pbxproj: Expose HTMLIFrameElement.h.
45384
453852010-12-08  Matthew Delaney  <mdelaney@apple.com>
45386
45387        Reviewed by Simon Fraser.
45388
45389        Add getter and setters for acceleratesRendering flag on layers
45390        https://bugs.webkit.org/show_bug.cgi?id=50717
45391
45392        * platform/graphics/GraphicsLayer.cpp:
45393        * platform/graphics/ca/GraphicsLayerCA.cpp:
45394        * platform/graphics/ca/mac/PlatformCALayerMac.mm:
45395        Plumbed through acceleratedRendering flag.
45396
453972010-12-07  Zhenyao Mo  <zmo@google.com>
45398
45399        Reviewed by Kenneth Russell.
45400
45401        WebGLUniformLocation objects must be invalidated during linkProgram
45402        https://bugs.webkit.org/show_bug.cgi?id=37118
45403
45404        * html/canvas/WebGLProgram.cpp:
45405        (WebCore::WebGLProgram::WebGLProgram): Initialize link count to 0.
45406        (WebCore::WebGLProgram::cacheActiveAttribLocations): Don't check link status through gl call; use the cached status instead.
45407        * html/canvas/WebGLProgram.h:
45408        (WebCore::WebGLProgram::getLinkCount): Get link count.
45409        (WebCore::WebGLProgram::increaseLinkCount): Increase link count by 1.
45410        * html/canvas/WebGLRenderingContext.cpp:
45411        (WebCore::WebGLRenderingContext::getUniform): Fix a bug where wrong error is generated.
45412        (WebCore::WebGLRenderingContext::linkProgram): call increaseLinkCount after linkProgram.
45413        * html/canvas/WebGLUniformLocation.cpp:
45414        (WebCore::WebGLUniformLocation::WebGLUniformLocation): Set program's link count upon creation.
45415        (WebCore::WebGLUniformLocation::program): Return null if count doesn't match the program's.
45416        (WebCore::WebGLUniformLocation::location): Return -1 if count doesn't match the program's.
45417        * html/canvas/WebGLUniformLocation.h:
45418
454192010-12-08  Adele Peterson  <adele@apple.com>
45420
45421        Reviewed by Darin Adler.
45422
45423        Fix for https://bugs.webkit.org/show_bug.cgi?id=50725
45424        <rdar://problem/8694972> REGRESSION (r72052): "Search" placeholder in MobileMe mail is positioned too high
45425
45426        Test: fast/forms/placeholder-position.html
45427
45428        Since we center the inner text element for single line text controls, 
45429        we should ask the subclass to give us the y offset instead of trying to calculate it in the RenderTextControl class.
45430
45431        * rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::paintPlaceholder):
45432        * rendering/RenderTextControl.h:
45433        * rendering/RenderTextControlMultiLine.cpp: (WebCore::RenderTextControlMultiLine::textBlockInsetTop):
45434        * rendering/RenderTextControlMultiLine.h:
45435        * rendering/RenderTextControlSingleLine.cpp: (WebCore::RenderTextControlSingleLine::textBlockInsetTop):
45436        * rendering/RenderTextControlSingleLine.h:
45437
454382010-12-08  Chris Rogers  <crogers@google.com>
45439
45440        Reviewed by Kenneth Russell.
45441
45442        Add web audio files to mac port Xcode projects
45443        https://bugs.webkit.org/show_bug.cgi?id=50721
45444
45445        No new tests since audio API is not yet implemented.
45446
45447        * WebCore.xcodeproj/project.pbxproj:
45448        * bindings/js/JSDOMWindowCustom.cpp:
45449        (WebCore::JSDOMWindow::webkitAudioContext):
45450
454512010-12-08  Kent Tamura  <tkent@chromium.org>
45452
45453        Reviewed by Alexey Proskuryakov.
45454
45455        Yensign hack should work with Shift_JIS and ISO-2022-JP encodings.
45456        https://bugs.webkit.org/show_bug.cgi?id=49714
45457
45458        IE chooses a font which shows a yensign for 0x5c code point for a page
45459        encoded in x-mac-japanese, ISO-2022-JP, EUC-JP, Shift_JIS, Shift_JIS_X0213-2000,
45460        x-sjis, and Windows-31J.
45461        We have emulated this behavior by replacing 0x5c with 0xa5 for EUC-JP and
45462        Shift_JIS_X0213-2000. This change adds other encodings above.
45463
45464        Also, we move the HashSet initialization for isJapanese() and
45465        backslashAsCurrencySymbol() to TextEncodingRegistry.cpp because of
45466        ease of making them multi-thread safe.
45467
45468        * platform/text/TextEncoding.cpp:
45469        (WebCore::TextEncoding::isJapanese): Just calls isJapaneseEncoding().
45470        (WebCore::TextEncoding::backslashAsCurrencySymbol): Uses shouldShowBackslashAsCurrencySymbolIn().
45471        * platform/text/TextEncodingRegistry.cpp:
45472        (WebCore::addEncodingName): Moved from TextEncoding.cpp, and stop using atomicCanonicalTextEncodingName().
45473        (WebCore::buildQuirksSets): Added. Initializes HashSets for isJapaneseEncoding() and shouldShowBackslashAsCurrencySymbolIn().
45474        (WebCore::isJapaneseEncoding):
45475        (WebCore::shouldShowBackslashAsCurrencySymbolIn):
45476        (WebCore::extendTextCodecMaps): Add a call to buildQuirksSets().
45477        * platform/text/TextEncodingRegistry.h:
45478
454792010-12-08  Andy Estes  <aestes@apple.com>
45480
45481        Reviewed by Darin Adler.
45482
45483        Reflected unsigned attributes should be in the range [0, 2^31).
45484        https://bugs.webkit.org/show_bug.cgi?id=50472
45485
45486        HTML5 says that unsigned reflected attributes should be in the range
45487        [0, 2^31). When a value isn't in this range, a default value (or 0)
45488        should be returned instead. Update the JS bindings code generator to
45489        ensure 0 is returned when a content attribute value falls outside of
45490        this range.
45491
45492        Tests: bindings/scripts/test/TestObj.idl
45493               fast/html/marquee-element.html
45494
45495        * bindings/scripts/CodeGeneratorJS.pm: Return the maximum of 0 and the
45496        content attribute as a 32-bit signed int when converting a native value
45497        to an unsigned JS value.
45498        * bindings/scripts/test/TestObj.idl: Add a reflected unsigned attribute
45499        to test code generation.
45500        * bindings/scripts/test/CPP/WebDOMTestObj.cpp: Update test results.
45501        * bindings/scripts/test/CPP/WebDOMTestObj.h: Ditto.
45502        * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp: Ditto.
45503        * bindings/scripts/test/GObject/WebKitDOMTestObj.h: Ditto.
45504        * bindings/scripts/test/JS/JSTestObj.cpp: Ditto.
45505        * bindings/scripts/test/JS/JSTestObj.h: Ditto.
45506        * bindings/scripts/test/ObjC/DOMTestObj.h: Ditto.
45507        * bindings/scripts/test/ObjC/DOMTestObj.mm: Ditto.
45508        * bindings/scripts/test/V8/V8TestObj.cpp: Ditto.
45509
455102010-12-08  Carlos Garcia Campos  <cgarcia@igalia.com>
45511
45512        Reviewed by Martin Robinson.
45513
45514        [GTK] Use gtk_icon_set_render_icon() to render icons in RenderThemeGtk
45515        https://bugs.webkit.org/show_bug.cgi?id=50623
45516
45517        We don't need to cache the icons since the will be cached by GTK+,
45518        and they will be rendered using the state and text direction.
45519
45520        * platform/gtk/RenderThemeGtk.cpp:
45521        (WebCore::paintStockIcon):
45522        (WebCore::getMediaButtonIconSize):
45523        (WebCore::RenderThemeGtk::initMediaColors):
45524        (WebCore::RenderThemeGtk::initMediaButtons):
45525        (WebCore::RenderThemeGtk::RenderThemeGtk):
45526        (WebCore::RenderThemeGtk::~RenderThemeGtk):
45527        (WebCore::RenderThemeGtk::gtkIconState):
45528        (WebCore::RenderThemeGtk::adjustSearchFieldResultsDecorationStyle):
45529        (WebCore::centerRectVerticallyInParentInputElement):
45530        (WebCore::RenderThemeGtk::paintSearchFieldResultsDecoration):
45531        (WebCore::RenderThemeGtk::adjustSearchFieldCancelButtonStyle):
45532        (WebCore::RenderThemeGtk::paintSearchFieldCancelButton):
45533        (WebCore::RenderThemeGtk::platformColorsDidChange):
45534        (WebCore::RenderThemeGtk::paintMediaButton):
45535        (WebCore::RenderThemeGtk::paintMediaFullscreenButton):
45536        (WebCore::RenderThemeGtk::paintMediaMuteButton):
45537        (WebCore::RenderThemeGtk::paintMediaPlayButton):
45538        (WebCore::RenderThemeGtk::paintMediaSeekBackButton):
45539        (WebCore::RenderThemeGtk::paintMediaSeekForwardButton):
45540        * platform/gtk/RenderThemeGtk.h:
45541
455422010-12-08  Abhishek Arya  <inferno@chromium.org>
45543
45544        Reviewed by Dimitri Glazkov.
45545
45546        Detach node iterator and move to new document when node gets moved.
45547        https://bugs.webkit.org/show_bug.cgi?id=50697
45548
45549        Test: fast/dom/node-iterator-document-moved-crash.html
45550
45551        * dom/Document.cpp: Method that takes a node and new document as argument.
45552        It detaches the node iterators belonging to the current document and attaches
45553        them to the new document.
45554        (WebCore::Document::moveNodeIteratorsToNewDocument):
45555        * dom/Document.h: Function definition.
45556        * dom/Node.cpp: When node is moved to another document, call the function to move
45557        the iterators appropriately.
45558        (WebCore::Node::setDocument):
45559
455602010-12-08  James Robinson  <jamesr@chromium.org>
45561
45562        Reviewed by Kenneth Russell.
45563
45564        [chromium] Text is blurry on a large composited layer with an odd center x/y coordinate
45565        https://bugs.webkit.org/show_bug.cgi?id=50702
45566
45567        Compute the center of a large layer using floats instead of ints to avoid roundoff errors.
45568
45569        Test: compositing/text-on-large-layer.html
45570
45571        * platform/graphics/chromium/ContentLayerChromium.cpp:
45572        (WebCore::ContentLayerChromium::draw):
45573
455742010-12-08  Ryosuke Niwa  <rniwa@webkit.org>
45575
45576        Reviewed by Dan Bernstein.
45577
45578        REGRESSION: LayoutTests/editing/selection/caret-rtl-2.html fails
45579        https://bugs.webkit.org/show_bug.cgi?id=33503
45580
45581        The bug was caused by Font::offsetForPosition's not taking into account the containing block's text direction.
45582        When RTL text appears in a LTR block, the offset at the beginning of RTL text is on the left of RTL text,
45583        and the offset at the end of RTL text is on the right of RTL text. For example, if we had RTL text CBA,
45584        then the correspondance between letters and offsets in logical order are: A -> 0, B -> 1, and C -> 2.
45585
45586        Case 1. CBA appears in a RTL block:
45587          In this case, clicking on the visual left of CBA puts the caret naturally at Position("CBA", 2).
45588          Clicking on the visual right of CBA puts the caret at Position("CBA", 0) as expected.
45589        Case 2. CBA appears in a LTR block:
45590          Because the containing block flows from left to right, by convention, Position("CBA", 2") corresponds
45591          to the visual right of CBA, and Position("CBA", 0) corresponds to the visual left of CBA.
45592          Therefore, clicking on the visual left of CBA should put the caret at Position("CBA", 0),
45593          and clicking on the visual right should put it at Position("CBA", 2).
45594
45595        The bug was caused by WebKit's not considering case 2. The same bug also exist for LTR text in a RTL block.
45596        Fixed the bug by taking care of the case 2 in InlineTextBox::offsetForPosition.
45597
45598        Tests: editing/selection/caret-ltr-2-left.html
45599               editing/selection/caret-ltr-2.html
45600               editing/selection/caret-ltr-right.html
45601               editing/selection/caret-ltr.html
45602               editing/selection/caret-rtl-2-left.html
45603               editing/selection/caret-rtl-right.html
45604
45605        * rendering/InlineTextBox.cpp:
45606        (WebCore::InlineTextBox::offsetForPosition):
45607
456082010-12-08  Anders Carlsson  <andersca@apple.com>
45609
45610        Reviewed by Darin Adler.
45611
45612        Fix some clang++ warnings (one of which was an actual bug)
45613        https://bugs.webkit.org/show_bug.cgi?id=50700
45614
45615        * page/mac/DragControllerMac.mm:
45616        (WebCore::DragController::dragOperation):
45617        Add parentheses to silent a clang warning.
45618
45619        * page/mac/EventHandlerMac.mm:
45620        (WebCore::EventHandler::needsKeyboardEventDisambiguationQuirks):
45621        Fix || vs && precedence bug uncovered by clang.
45622
45623        * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
45624        (WebCore::GraphicsContext3D::reshape):
45625        Use an early return to avoid a warning.
45626
456272010-12-08  Chris Marrin  <cmarrin@apple.com>
45628
45629        Reviewed by Simon Fraser.
45630
45631        Share code between Mac (CA) and Windows (CACF) GraphicsLayer implementations
45632        https://bugs.webkit.org/show_bug.cgi?id=49388
45633
45634        Added copy constructors and casting operators to go between 
45635        TransformationMatrix and CATransform3D. Also added a copy
45636        constructor to go from CGAffineTransform to TransformationMatrix.
45637        Used these new methods to clean up platform CA code. This will
45638        make it easier to port to Windows.
45639
45640        I also fixed a couple of build issues found when trying out a 
45641        Windows build.
45642
45643        This is a resubmission of changesets r73477 and r73483 with a 
45644        fix for the SL build. The failure was because TransformationMatrix
45645        included QuartzCore/CATransform3D.h which brought in some system
45646        libraries, including Quickdraw, which has a definition for
45647        'Cursor' which clashed with WebCore's 'Cursor' class. So I had
45648        to qualify its use in WebChromeClient.cpp in WebKit2.
45649
45650        * WebCore.xcodeproj/project.pbxproj:
45651        * platform/graphics/ca/GraphicsLayerCA.cpp:
45652        (WebCore::GraphicsLayerCA::updateContentsTransform):
45653        (WebCore::GraphicsLayerCA::ensureCloneLayers):
45654        (WebCore::GraphicsLayerCA::fetchCloneLayers):
45655        * platform/graphics/ca/TransformationMatrixCA.cpp: Copied from WebCore/platform/graphics/ca/TransformationMatrixCA.cpp.
45656        * platform/graphics/ca/mac/PlatformCAAnimationMac.mm:
45657        (PlatformCAAnimation::setFromValue):
45658        (PlatformCAAnimation::setToValue):
45659        (PlatformCAAnimation::setValues):
45660        * platform/graphics/ca/mac/PlatformCALayerMac.mm:
45661        (PlatformCALayer::transform):
45662        (PlatformCALayer::setTransform):
45663        (PlatformCALayer::sublayerTransform):
45664        (PlatformCALayer::setSublayerTransform):
45665        (PlatformCALayer::contentsTransform):
45666        (PlatformCALayer::setContentsTransform):
45667        * platform/graphics/cg/TransformationMatrixCG.cpp:
45668        (WebCore::TransformationMatrix::TransformationMatrix):
45669        * platform/graphics/transforms/TransformationMatrix.h:
45670
456712010-12-07  Brian Weinstein  <bweinstein@apple.com>
45672
45673        Reviewed by John Sullivan.
45674
45675        Layering Violation in ContextMenu - member variable of type HitTestResult
45676        https://bugs.webkit.org/show_bug.cgi?id=50586
45677        
45678        ContextMenu had a layering violation by having a member variable of type HitTestResult, because
45679        classes in WebCore/platform can't know about classes in WebCore.
45680        
45681        This patch moves the HitTestResult and all functions that use it out of ContextMenu into ContextMenuController.
45682        All of the functions that dealt with populating the ContextMenu are now in ContextMenuController, and this
45683        allowed us to delete the ContextMenu file, putting all of the cross-platform code that used to be it
45684        in ContextMenuController, and the rest of the code is in the platform-specific files.
45685
45686        No change in behavior, no new tests.
45687
45688        * Android.mk: Removed ContextMenu.cpp.
45689        * CMakeLists.txt: Ditto.
45690        * GNUmakefile.am: Ditto.
45691        * WebCore.gypi: Ditto.
45692        * WebCore.pro: Ditto.
45693        * WebCore.vcproj/WebCore.vcproj: Ditto.
45694        * WebCore.xcodeproj/project.pbxproj: Ditto.
45695
45696        * page/ContextMenuController.cpp:
45697        (WebCore::ContextMenuController::ContextMenuController): Initialized m_hitTestResult to an empty HitTestResult.
45698        (WebCore::ContextMenuController::handleContextMenuEvent): Call populate on the ContextMenuController instead
45699            of the ContextMenu.
45700        (WebCore::ContextMenuController::createContextMenu): Fix some indination, and store the HitTestResult in a member
45701            variable.
45702        (WebCore::ContextMenuController::showContextMenu): Call addInspectElementItem on the ContextMenuController.
45703        (WebCore::ContextMenuController::contextMenuItemSelected): Use m_hitTestResult whenever we need a HitTestResult.
45704        (WebCore::ContextMenuController::appendItem): Validates the item for its state, and then appends it to the parent menu.
45705            This allowed us to move checkOrEnableIfNeeded from ContextMenu.
45706
45707        These functions were all moved from ContextMenu, and changed slightly to fit in ContextMenuController.
45708        All calls to ContextMenu::appendItem were changed to ContextMenuController::appendItem, which takes care
45709        of validating the menu.
45710        (WebCore::separatorItem): Moved from ContextMenu.
45711        (WebCore::ContextMenuController::createAndAppendFontSubMenu): Ditto.
45712        (WebCore::ContextMenuController::createAndAppendSpellingAndGrammarSubMenu): Ditto.
45713        (WebCore::ContextMenuController::createAndAppendSpeechSubMenu): Ditto.
45714        (WebCore::ContextMenuController::createAndAppendWritingDirectionSubMenu): Ditto.
45715        (WebCore::ContextMenuController::createAndAppendTextDirectionSubMenu): Ditto.
45716        (WebCore::ContextMenuController::createAndAppendSubstitutionsSubMenu): Ditto.
45717        (WebCore::ContextMenuController::createAndAppendTransformationsSubMenu): Ditto.
45718        (WebCore::selectionContainsPossibleWord): Ditto.
45719        (WebCore::ContextMenuController::populate): Ditto.
45720        (WebCore::ContextMenuController::addInspectElementItem): Ditto.
45721        (WebCore::ContextMenuController::checkOrEnableIfNeeded): Ditto.
45722        
45723        * page/ContextMenuController.h:
45724        (WebCore::ContextMenuController::hitTestResult): Returns the HitTestResult of the current ContextMenu.
45725
45726        * platform/ContextMenu.cpp: Removed.
45727        * platform/ContextMenu.h:
45728        * platform/efl/ContextMenuEfl.cpp:
45729        (WebCore::ContextMenu::ContextMenu): Removed m_hitTestResult from the constructor.
45730        (WebCore::ContextMenu::appendItem): Removed the call to checkOrEnableIfNeeded.
45731        * platform/gtk/ContextMenuGtk.cpp:
45732        (WebCore::ContextMenu::ContextMenu): Removed m_hitTestResult from the constructor.
45733        (WebCore::ContextMenu::appendItem): Ditto.
45734        * platform/haiku/ContextMenuHaiku.cpp:
45735        (WebCore::ContextMenu::ContextMenu): Removed m_hitTestResult from the constructor.
45736        (WebCore::ContextMenu::appendItem): Ditto.
45737        (WebCore::ContextMenu::insertItem): Ditto.
45738        * platform/mac/ContextMenuMac.mm:
45739        (-[WebCoreMenuTarget validateMenuItem:]): Calls checkOrEnableIfNeeded on the controller instead of
45740            the context menu.
45741        (WebCore::ContextMenu::ContextMenu): Removed m_hitTestResult from the constructor.
45742        (WebCore::ContextMenu::appendItem): Removed the call to checkOrEnableIfNeeded.
45743        (WebCore::ContextMenu::insertItem): Ditto.
45744        * platform/win/ContextMenuWin.cpp:
45745        (WebCore::ContextMenu::ContextMenu): Removed m_hitTestResult from the constructor.
45746        (WebCore::ContextMenu::insertItem): Removed the call to checkOrEnableIfNeeded.
45747        * platform/wx/ContextMenuWx.cpp:
45748        (WebCore::ContextMenu::ContextMenu): Removed m_hitTestResult from the constructor.
45749        (ContextMenu::appendItem): Ditto.
45750
457512010-12-08  Martin Robinson  <mrobinson@igalia.com>
45752
45753        Reviewed by John Sullivan.
45754
45755        [GTK] Layering violation in ContextMenuGtk.cpp
45756        https://bugs.webkit.org/show_bug.cgi?id=50676
45757
45758        ContextMenuGtk accesses the page's ContextMenuController, which is a layering
45759        violation. This was fixed for Mac with change r73469. We make a similar fix here
45760        by moving the "activated" signal connection to the WebKit layer.
45761
45762        * platform/gtk/ContextMenuGtk.cpp:
45763        (WebCore::ContextMenu::appendItem): Remove access of ContextMenuController. This
45764        is a layering violation.
45765
457662010-12-08  Jessie Berlin  <jberlin@apple.com>
45767
45768        Reviewed by Adam Roben.
45769
45770        WebKit2: Implement WebChromeClient::exceededDatabaseQuota
45771        https://bugs.webkit.org/show_bug.cgi?id=50656
45772
45773        * WebCore.exp.in:
45774        Export the symbol for SecurityOrigin::databaseIdentifier.
45775
457762010-12-08  Csaba Osztrogonác  <ossy@webkit.org>
45777
45778        Unreviewed, rolling out r73521.
45779        http://trac.webkit.org/changeset/73521
45780        https://bugs.webkit.org/show_bug.cgi?id=50640
45781
45782        It broke 90 layout tests
45783
45784        * bindings/js/JSDOMBinding.cpp:
45785        (WebCore::printErrorMessageForFrame):
45786        * bindings/js/JSDOMWindowBase.cpp:
45787        (WebCore::JSDOMWindowBase::crossDomainAccessErrorMessage):
45788        * bindings/js/JSDOMWindowCustom.cpp:
45789        (WebCore::JSDOMWindow::setLocation):
45790        * page/DOMWindow.cpp:
45791        * page/DOMWindow.h:
45792
457932010-12-08  David Hyatt  <hyatt@apple.com>
45794
45795        Reviewed by Anders Carlsson.
45796
45797        https://bugs.webkit.org/show_bug.cgi?id=50576
45798
45799        REGRESSION in position of autocomplete popup on RTL page.
45800
45801        RTL static position computation did not subtract out the width of the enclosing box if the
45802        immediate parent was a RenderInline.  This bug was exposed by properly changing the RenderView
45803        to be RTL when the document was RTL.
45804
45805        Added three new tests in fast/block/positioning.
45806
45807        * rendering/RenderBox.cpp:
45808        (WebCore::RenderBox::computePositionedLogicalWidth):
45809
458102010-12-08  Xiaomei Ji  <xji@chromium.org>
45811
45812        Reviewed by David Hyatt.
45813
45814        Fix backward mouse wheeling not working when scroll position is below 0.
45815        https://bugs.webkit.org/show_bug.cgi?id=50370
45816
45817        Tests: fast/events/wheelevent-in-horizontal-scrollbar-in-rtl.html
45818               fast/events/wheelevent-in-vertical-scrollbar-in-rtl.html
45819
45820        * platform/ScrollView.cpp:
45821        (WebCore::ScrollView::wheelEvent):
45822
458232010-12-08  Simon Fraser  <simon.fraser@apple.com>
45824
45825        Reviewed by Dan Bernstein.
45826
45827        Fix pauseAnimation API to work with shorthand properties
45828        https://bugs.webkit.org/show_bug.cgi?id=50639
45829        
45830        The pause API is always called with a long-hand property, but that
45831        property may be animating via a shorthand. Detect this, and pause
45832        such shorthand animations.
45833
45834        * page/animation/AnimationBase.cpp:
45835        (WebCore::ShorthandPropertyWrapper::propertyWrappers): Expose the vector
45836        of wrappers used by a shorthand wrapper.
45837
45838        (WebCore::gatherEnclosingShorthandProperties): Utility function that walks
45839        through the shorthand wrappers, keeping track of which can affect the given
45840        property.
45841        (WebCore::AnimationBase::animatableShorthandsAffectingProperty): Return a set
45842        of shorthand properties that can affect the given property.
45843
45844        * page/animation/AnimationBase.h: New method.
45845        * page/animation/CompositeAnimation.cpp:
45846        (WebCore::CompositeAnimation::pauseTransitionAtTime): If we don't find the
45847        property itself, check whether it's being animated via shorthands.
45848
458492010-12-08  David Hyatt  <hyatt@apple.com>
45850
45851        Reviewed by Beth Dakin.
45852
45853        <rdar://problem/8740920> Gestures: Frame::scalePage() broken by r73885
45854
45855        Make sure the transform applied to the RenderView for page scaling is incorporated into the
45856        docTop/Bottom/Left/Right accessors.
45857
45858        * rendering/RenderView.cpp:
45859        (WebCore::RenderView::docTop):
45860        (WebCore::RenderView::docBottom):
45861        (WebCore::RenderView::docLeft):
45862        (WebCore::RenderView::docRight):
45863
458642010-12-08  Ilya Tikhonovsky  <loislo@chromium.org>
45865
45866        Reviewed by Yury Semikhatsky.
45867
45868        Web Inspector: Protocol cleanup task. Remove WebInspector wrappers
45869        for TimelineAgent functions.
45870
45871        https://bugs.webkit.org/show_bug.cgi?id=50690
45872
45873        * inspector/Inspector.idl:
45874        * inspector/front-end/TimelineAgent.js:
45875        * inspector/front-end/TimelinePanel.js:
45876        (WebInspector.TimelinePanel):
45877        (WebInspector.TimelinePanel.prototype.timelineProfilerWasStarted):
45878        (WebInspector.TimelinePanel.prototype.timelineProfilerWasStopped):
45879
458802010-12-08  Philippe Normand  <pnormand@igalia.com>
45881
45882        Reviewed by Gustavo Noronha Silva.
45883
45884        [GTK] media/fullscreen* failing on 64-bits Debug
45885        https://bugs.webkit.org/show_bug.cgi?id=50394
45886
45887        Avoid emiting durationchanged in the case where the previous
45888        duration was 0 because that case is already handled by the
45889        HTMLMediaElement.
45890
45891        Test: media/media-fullscreen*.html
45892
45893        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
45894        (WebCore::MediaPlayerPrivateGStreamer::durationChanged):
45895
458962010-12-07  Darin Adler  <darin@apple.com>
45897
45898        Reviewed by Geoffrey Garen.
45899
45900        Move DOMWindow::setLocation logic into DOMWindow class and out of JavaScript binding
45901        https://bugs.webkit.org/show_bug.cgi?id=50640
45902
45903        * bindings/js/JSDOMBinding.cpp:
45904        (WebCore::printErrorMessageForFrame): Removed body; just call through to
45905        DOMWindow::printErrorMessage.
45906
45907        * bindings/js/JSDOMWindowBase.cpp:
45908        (WebCore::JSDOMWindowBase::crossDomainAccessErrorMessage): Removed body;
45909        just call through to DOMWindow::crossDomainAccessErrorMessage.
45910
45911        * bindings/js/JSDOMWindowCustom.cpp:
45912        (WebCore::JSDOMWindow::setLocation): Changed terminology to use activeFrame and
45913        firstFrame, rather than the older lexicalFrame and dynamicFrame. Removed most
45914        of the body and moved it into DOMWindow::setLocation.
45915
45916        * page/DOMWindow.cpp:
45917        (WebCore::DOMWindow::setLocation): Added. Does all the same work that
45918        JSDOMWindow::setLocation used to do, but in a way that's not specific
45919        to JavaScript.
45920        (WebCore::DOMWindow::printErrorMessage): Added.
45921        (WebCore::DOMWindow::crossDomainAccessErrorMessage): Added.
45922
45923        * page/DOMWindow.h: Added setLocation, printErrorMessage, and
45924        crossDomainAccessErrorMessage.
45925
459262010-12-08  Alejandro G. Castro  <alex@igalia.com>
45927
45928        Unreviewed, rolling out r73494.
45929        http://trac.webkit.org/changeset/73494
45930        https://bugs.webkit.org/show_bug.cgi?id=50380
45931
45932        The tests added are crashing in the debug bots (macn and gtk)
45933
45934        * html/HTMLSelectElement.cpp:
45935        (WebCore::HTMLSelectElement::deselectItems):
45936        (WebCore::HTMLSelectElement::setSelectedIndex):
45937        (WebCore::HTMLSelectElement::setSelectedIndexByUser):
45938        (WebCore::HTMLSelectElement::listBoxSelectItem):
45939        (WebCore::HTMLSelectElement::add):
45940        (WebCore::HTMLSelectElement::remove):
45941        (WebCore::HTMLSelectElement::restoreFormControlState):
45942        (WebCore::HTMLSelectElement::parseMappedAttribute):
45943        (WebCore::HTMLSelectElement::selectAll):
45944        (WebCore::HTMLSelectElement::reset):
45945        (WebCore::HTMLSelectElement::updateListBoxSelection):
45946        (WebCore::HTMLSelectElement::setLength):
45947        * html/HTMLSelectElement.h:
45948        (WebCore::HTMLSelectElement::isOptionalFormControl):
45949        * html/HTMLSelectElement.idl:
45950        * html/ValidityState.cpp:
45951        (WebCore::ValidityState::valueMissing):
45952
459532010-12-07  Ilya Tikhonovsky  <loislo@chromium.org>
45954
45955        Reviewed by Pavel Feldman.
45956
45957        Web Inspector: Inspector protocol cleanup task. Remove
45958        WebInspector wrappers for DOMAgent functions.
45959
45960        There were a lot of wrappers in WebInspector namespace
45961        for different WebInspector agents functions. As far as we have a
45962        generic mechanic for such functions we can remove these
45963        wrappers and register domAgent instance as a handler for
45964        DOM domain notifications.
45965
45966        https://bugs.webkit.org/show_bug.cgi?id=50626
45967
45968        * inspector/Inspector.idl:
45969        * inspector/front-end/DOMAgent.js:
45970        (WebInspector.DOMNode):
45971        (WebInspector.DOMAgent):
45972        (WebInspector.DOMAgent.prototype.attributesUpdated):
45973        (WebInspector.DOMAgent.prototype.characterDataModified):
45974        (WebInspector.DOMAgent.prototype.setDocument):
45975        (WebInspector.DOMAgent.prototype.setDetachedRoot):
45976        (WebInspector.DOMAgent.prototype.setChildNodes):
45977        (WebInspector.DOMAgent.prototype.childNodeCountUpdated):
45978        (WebInspector.DOMAgent.prototype.childNodeInserted):
45979        (WebInspector.DOMAgent.prototype.childNodeRemoved):
45980        (WebInspector.EventListeners.getEventListenersForNodeAsync):
45981        * inspector/front-end/inspector.js:
45982        (WebInspector.didCommitLoad):
45983
459842010-12-08  Yury Semikhatsky  <yurys@chromium.org>
45985
45986        Reviewed by Pavel Feldman.
45987
45988        Web Inspector: remove groupLevel counter from console messages
45989        https://bugs.webkit.org/show_bug.cgi?id=50672
45990
45991        * inspector/ConsoleMessage.cpp:
45992        (WebCore::ConsoleMessage::ConsoleMessage):
45993        (WebCore::ConsoleMessage::addToFrontend):
45994        (WebCore::ConsoleMessage::isEqual):
45995        * inspector/ConsoleMessage.h:
45996        * inspector/InspectorController.cpp:
45997        (WebCore::InspectorController::InspectorController):
45998        (WebCore::InspectorController::addMessageToConsole):
45999        (WebCore::InspectorController::clearConsoleMessages):
46000        (WebCore::InspectorController::startGroup):
46001        (WebCore::InspectorController::endGroup):
46002        * inspector/InspectorController.h:
46003        * inspector/front-end/ConsoleView.js:
46004        (WebInspector.ConsoleView.createFilterElement):
46005        (WebInspector.ConsoleView):
46006        (WebInspector.ConsoleView.prototype.filter):
46007        (WebInspector.ConsoleView.prototype.afterShow):
46008        (WebInspector.ConsoleView.prototype.addMessage):
46009        (WebInspector.ConsoleView.prototype.updateMessageRepeatCount):
46010        (WebInspector.ConsoleView.prototype.clearMessages):
46011        (WebInspector.ConsoleMessage):
46012        (WebInspector.ConsoleMessage.createTextMessage):
46013        (WebInspector.ConsoleMessage.prototype.toMessageElement):
46014        (WebInspector.ConsoleMessage.prototype._addMessageHeader):
46015        (WebInspector.ConsoleMessage.prototype._updateRepeatCount):
46016        (WebInspector.ConsoleMessage.prototype.toString):
46017        (WebInspector.ConsoleMessage.prototype.isEqual):
46018        (WebInspector.ConsoleGroup):
46019        * inspector/front-end/Resource.js:
46020        (WebInspector.Resource.prototype._checkWarning):
46021        * inspector/front-end/SourceFrame.js:
46022        (WebInspector.SourceFrame.prototype._addMessageToSource):
46023        * inspector/front-end/inspector.js:
46024        (WebInspector.addConsoleMessage):
46025        (WebInspector.log.logMessage):
46026        (WebInspector.log):
46027
460282010-12-07  Pavel Podivilov  <podivilov@chromium.org>
46029
46030        Reviewed by Pavel Feldman.
46031
46032        Web Inspector: introduce DebuggerModel class representing InspectorDebuggerAgent state.
46033        https://bugs.webkit.org/show_bug.cgi?id=50567
46034
46035        Moved debugging-related code from BreakpointManager to DebuggerModel. Moved Breakpoint class to a separate file.
46036
46037        * English.lproj/localizedStrings.js:
46038        * WebCore.gypi:
46039        * WebCore.vcproj/WebCore.vcproj:
46040        * inspector/front-end/Breakpoint.js: Added.
46041        (WebInspector.Breakpoint): Moved from BreakpointManager.js.
46042        * inspector/front-end/BreakpointManager.js:
46043        (WebInspector.BreakpointManager): Remove debugger-related methods.
46044        * inspector/front-end/CallStackSidebarPane.js:
46045        (WebInspector.CallStackSidebarPane):
46046        (WebInspector.CallStackSidebarPane.prototype._nativeBreakpointHit):
46047        (WebInspector.CallStackSidebarPane.prototype._scriptBreakpointHit):
46048        * inspector/front-end/DebuggerModel.js: Added.
46049        (WebInspector.DebuggerModel): Moved debugger-related methods from BreakpointManager.
46050        * inspector/front-end/ScriptsPanel.js:
46051        (WebInspector.ScriptsPanel):
46052        (WebInspector.ScriptsPanel.prototype.continueToLine):
46053        (WebInspector.ScriptsPanel.prototype.editScriptSource.mycallback):
46054        (WebInspector.ScriptsPanel.prototype.editScriptSource):
46055        (WebInspector.ScriptsPanel.prototype._debuggerPaused):
46056        (WebInspector.ScriptsPanel.prototype._debuggerResumed):
46057        (WebInspector.ScriptsPanel.prototype.reset):
46058        * inspector/front-end/SourceFrame.js:
46059        (WebInspector.SourceFrame.prototype._createViewerIfNeeded):
46060        (WebInspector.SourceFrameDelegate.prototype.addBreakpoint):
46061        (WebInspector.SourceFrameDelegate.prototype.breakpoints):
46062        (WebInspector.SourceFrameDelegate.prototype.findBreakpoint):
46063        * inspector/front-end/WebKit.qrc:
46064        * inspector/front-end/inspector.html:
46065        * inspector/front-end/inspector.js:
46066        (WebInspector.createJSBreakpointsSidebarPane):
46067        (WebInspector.restoredBreakpoint):
46068        (WebInspector.pausedScript):
46069        (WebInspector.resumedScript):
46070        (WebInspector.reset):
46071
460722010-12-08  Pavel Podivilov  <podivilov@chromium.org>
46073
46074        Reviewed by Pavel Feldman.
46075
46076        Web Inspector: SourceFrame refactoring.
46077        https://bugs.webkit.org/show_bug.cgi?id=50223
46078
46079        SourceFrame should ask BreakpointManager about existing breakpoints instead of maintaining
46080        it's own storages. Move common code from ScriptView and SourceView to SourceFrame.
46081
46082        * inspector/front-end/BreakpointManager.js:
46083        (WebInspector.BreakpointManager.prototype.findBreakpoints):
46084        (WebInspector.BreakpointManager.prototype.findBreakpoint):
46085        * inspector/front-end/Script.js:
46086        (WebInspector.Script):
46087        (WebInspector.Script.prototype.get linesCount):
46088        (WebInspector.Script.prototype.get source):
46089        (WebInspector.Script.prototype.set source):
46090        * inspector/front-end/ScriptView.js:
46091        (WebInspector.ScriptView):
46092        (WebInspector.ScriptView.prototype._scriptSourceChanged):
46093        (WebInspector.ScriptFrameDelegateImpl):
46094        (WebInspector.ScriptFrameDelegateImpl.prototype.canEditScripts):
46095        (WebInspector.ScriptFrameDelegateImpl.prototype.editLineComplete):
46096        (WebInspector.ScriptFrameDelegateImpl.prototype.scripts):
46097        * inspector/front-end/ScriptsPanel.js:
46098        (WebInspector.ScriptsPanel):
46099        * inspector/front-end/SourceFrame.js:
46100        (WebInspector.SourceFrame): Add common methods of ScriptView and SourceView.
46101        (WebInspector.SourceFrameDelegate):
46102        (WebInspector.SourceFrameDelegate.prototype.canEditScripts):
46103        (WebInspector.SourceFrameDelegate.prototype.editLineComplete):
46104        (WebInspector.SourceFrameDelegate.prototype.scripts):
46105        * inspector/front-end/SourceView.js:
46106        (WebInspector.SourceView):
46107        (WebInspector.SourceView.prototype._contentLoaded):
46108        (WebInspector.ResourceFrameDelegateImpl):
46109        (WebInspector.ResourceFrameDelegateImpl.prototype.canEditScripts):
46110        (WebInspector.ResourceFrameDelegateImpl.prototype.editLineComplete):
46111        (WebInspector.ResourceFrameDelegateImpl.prototype.scripts):
46112
461132010-12-08  Yuta Kitamura  <yutak@chromium.org>
46114
46115        Unreviewed, rolling out r73492.
46116        http://trac.webkit.org/changeset/73492
46117        https://bugs.webkit.org/show_bug.cgi?id=49914
46118
46119        Caused a lot of pixel test failures and broke Windows build.
46120
46121        * WebCore.xcodeproj/project.pbxproj:
46122        * platform/graphics/GraphicsContext.cpp:
46123        (WebCore::GraphicsContext::createGraphicsContextPrivate):
46124        (WebCore::GraphicsContext::destroyGraphicsContextPrivate):
46125        (WebCore::GraphicsContext::save):
46126        (WebCore::GraphicsContext::restore):
46127        (WebCore::GraphicsContext::setStrokeThickness):
46128        (WebCore::GraphicsContext::setStrokeStyle):
46129        (WebCore::GraphicsContext::setStrokeColor):
46130        (WebCore::GraphicsContext::setShadow):
46131        (WebCore::GraphicsContext::clearShadow):
46132        (WebCore::GraphicsContext::getShadow):
46133        (WebCore::GraphicsContext::strokeThickness):
46134        (WebCore::GraphicsContext::strokeStyle):
46135        (WebCore::GraphicsContext::strokeColor):
46136        (WebCore::GraphicsContext::strokeColorSpace):
46137        (WebCore::GraphicsContext::fillRule):
46138        (WebCore::GraphicsContext::setFillRule):
46139        (WebCore::GraphicsContext::setFillColor):
46140        (WebCore::GraphicsContext::fillColor):
46141        (WebCore::GraphicsContext::fillColorSpace):
46142        (WebCore::GraphicsContext::setShouldAntialias):
46143        (WebCore::GraphicsContext::shouldAntialias):
46144        (WebCore::GraphicsContext::setStrokePattern):
46145        (WebCore::GraphicsContext::setFillPattern):
46146        (WebCore::GraphicsContext::setStrokeGradient):
46147        (WebCore::GraphicsContext::setFillGradient):
46148        (WebCore::GraphicsContext::fillGradient):
46149        (WebCore::GraphicsContext::strokeGradient):
46150        (WebCore::GraphicsContext::fillPattern):
46151        (WebCore::GraphicsContext::strokePattern):
46152        (WebCore::GraphicsContext::setShadowsIgnoreTransforms):
46153        (WebCore::GraphicsContext::updatingControlTints):
46154        (WebCore::GraphicsContext::setUpdatingControlTints):
46155        (WebCore::GraphicsContext::setPaintingDisabled):
46156        (WebCore::GraphicsContext::paintingDisabled):
46157        (WebCore::GraphicsContext::textDrawingMode):
46158        (WebCore::GraphicsContext::setTextDrawingMode):
46159        * platform/graphics/GraphicsContext.h:
46160        * platform/graphics/GraphicsContextPrivate.h: Added.
46161        (WebCore::GraphicsContextState::GraphicsContextState):
46162        (WebCore::GraphicsContextPrivate::GraphicsContextPrivate):
46163        * platform/graphics/cairo/GraphicsContextCairo.cpp:
46164        (WebCore::setPlatformFill):
46165        (WebCore::setPlatformStroke):
46166        (WebCore::drawPathShadow):
46167        (WebCore::fillCurrentCairoPath):
46168        (WebCore::strokeCurrentCairoPath):
46169        (WebCore::GraphicsContext::GraphicsContext):
46170        (WebCore::GraphicsContext::~GraphicsContext):
46171        (WebCore::GraphicsContext::fillPath):
46172        (WebCore::GraphicsContext::strokePath):
46173        (WebCore::GraphicsContext::fillRect):
46174        (WebCore::GraphicsContext::setPlatformShadow):
46175        (WebCore::GraphicsContext::strokeRect):
46176        (WebCore::GraphicsContext::setAlpha):
46177        (WebCore::GraphicsContext::getAlpha):
46178        * platform/graphics/cg/GraphicsContextCG.cpp:
46179        (WebCore::GraphicsContext::GraphicsContext):
46180        (WebCore::GraphicsContext::~GraphicsContext):
46181        (WebCore::GraphicsContext::applyStrokePattern):
46182        (WebCore::GraphicsContext::applyFillPattern):
46183        (WebCore::GraphicsContext::drawPath):
46184        (WebCore::GraphicsContext::fillPath):
46185        (WebCore::GraphicsContext::strokePath):
46186        (WebCore::GraphicsContext::fillRect):
46187        (WebCore::GraphicsContext::setPlatformShadow):
46188        (WebCore::GraphicsContext::strokeRect):
46189        * platform/graphics/haiku/GraphicsContextHaiku.cpp:
46190        (WebCore::GraphicsContext::GraphicsContext):
46191        (WebCore::GraphicsContext::~GraphicsContext):
46192        * platform/graphics/openvg/GraphicsContextOpenVG.cpp:
46193        (WebCore::GraphicsContext::GraphicsContext):
46194        (WebCore::GraphicsContext::~GraphicsContext):
46195        (WebCore::GraphicsContext::fillPath):
46196        (WebCore::GraphicsContext::strokePath):
46197        (WebCore::GraphicsContext::clip):
46198        (WebCore::GraphicsContext::clipOut):
46199        (WebCore::GraphicsContext::addInnerRoundedRectClip):
46200        * platform/graphics/qt/GraphicsContextQt.cpp:
46201        (WebCore::GraphicsContext::GraphicsContext):
46202        (WebCore::GraphicsContext::~GraphicsContext):
46203        (WebCore::GraphicsContext::fillPath):
46204        (WebCore::GraphicsContext::strokePath):
46205        (WebCore::GraphicsContext::fillRect):
46206        (WebCore::GraphicsContext::setPlatformShadow):
46207        * platform/graphics/skia/GraphicsContextSkia.cpp:
46208        (WebCore::GraphicsContext::GraphicsContext):
46209        (WebCore::GraphicsContext::~GraphicsContext):
46210        (WebCore::GraphicsContext::fillPath):
46211        (WebCore::GraphicsContext::setPlatformShadow):
46212        * platform/graphics/win/GraphicsContextCGWin.cpp:
46213        (WebCore::GraphicsContext::GraphicsContext):
46214        * platform/graphics/win/GraphicsContextCairoWin.cpp:
46215        (WebCore::GraphicsContext::GraphicsContext):
46216        * platform/graphics/wince/GraphicsContextWinCE.cpp:
46217        (WebCore::GraphicsContext::GraphicsContext):
46218        (WebCore::GraphicsContext::~GraphicsContext):
46219        (WebCore::GraphicsContext::fillPath):
46220        (WebCore::GraphicsContext::fillRect):
46221        * platform/graphics/wx/GraphicsContextWx.cpp:
46222        (WebCore::GraphicsContext::GraphicsContext):
46223        (WebCore::GraphicsContext::~GraphicsContext):
46224
462252010-12-08  Dai Mikurube  <dmikurube@google.com>
46226
46227        Reviewed by Kent Tamura.
46228
46229        Implement "required" attribute for select tags
46230        https://bugs.webkit.org/show_bug.cgi?id=50380
46231
46232        Test: fast/forms/select-live-pseudo-selectors.html
46233              platform/mac/fast/objc/dom-html-select-live-pseudo-selectors.html
46234
46235        * html/HTMLSelectElement.cpp:
46236        (WebCore::HTMLSelectElement::deselectItems): Added calling setNeedsValidityCheck() to enable validity check after changing. No tests for this change since this function is not exposed to JavaScript or any web interface.
46237        (WebCore::HTMLSelectElement::setSelectedIndex): Added calling setNeedsValidityCheck().
46238        (WebCore::HTMLSelectElement::setSelectedIndexByUser): Added calling setNeedsValidityCheck().
46239        (WebCore::HTMLSelectElement::valueMissing): Added valueMissing() to check if selecting an invalid or placeholder label option when a valid required attribute is specified.
46240        (WebCore::HTMLSelectElement::listBoxSelectItem): Added calling setNeedsValidityCheck(). No tests for this change since it is not called yet. Look at the bug 36177 and the changeset 56180.
46241        (WebCore::HTMLSelectElement::add): Added calling setNeedsValidityCheck().
46242        (WebCore::HTMLSelectElement::remove): Added calling setNeedsValidityCheck().
46243        (WebCore::HTMLSelectElement::restoreFormControlState): Added calling setNeedsValidityCheck().
46244        (WebCore::HTMLSelectElement::parseMappedAttribute): Added calling setNeedsValidityCheck().
46245        (WebCore::HTMLSelectElement::selectAll): Added calling setNeedsValidityCheck().
46246        (WebCore::HTMLSelectElement::reset): Added calling setNeedsValidityCheck().
46247        (WebCore::HTMLSelectElement::updateListBoxSelection): Added calling setNeedsValidityCheck(). Skipped adding tests for this change as too complicated..
46248        (WebCore::HTMLSelectElement::setLength): Added calling setNeedsValidityCheck().
46249        (WebCore::HTMLSelectElement::isRequiredFormControl): Check if required or not.
46250        (WebCore::HTMLSelectElement::hasPlaceholderLabelOption): Added.
46251        * html/HTMLSelectElement.h:
46252        (WebCore::HTMLSelectElement::isOptionalFormControl): Check if not required.
46253        * html/HTMLSelectElement.idl: Added a required attribute to select elements..
46254        * html/ValidityState.cpp:
46255        (WebCore::ValidityState::valueMissing): Added valueMissing check for select elements into the global checker, ValidityState::valueMissing().
46256
462572010-12-08  Renata Hodovan  <reni@webkit.org>
46258
46259        Reviewed by Andreas Kling.
46260
46261        GraphicsContext: Merge m_common and m_data
46262        https://bugs.webkit.org/show_bug.cgi?id=49914
46263
46264        Move data members from GraphicsContextPrivate into GraphicsContext. So GraphicsContextPlatform.h
46265        and m_common became unnecessary. They are removed.
46266        Add two methods to GraphicsContext: platformInit() and platformDestroy(), which
46267        make the constructor of GraphicsContext clearer.
46268        Besides add a getter to the private GraphicsContext::m_state member, because some inline
46269        functions in cairo need it.
46270
46271        No new test is needed, because this is a refactoring.
46272
46273        * WebCore.xcodeproj/project.pbxproj:
46274        * platform/graphics/GraphicsContext.cpp:
46275        (WebCore::GraphicsContext::GraphicsContext):
46276        (WebCore::GraphicsContext::~GraphicsContext):
46277        (WebCore::GraphicsContext::save):
46278        (WebCore::GraphicsContext::restore):
46279        (WebCore::GraphicsContext::setStrokeThickness):
46280        (WebCore::GraphicsContext::setStrokeStyle):
46281        (WebCore::GraphicsContext::setStrokeColor):
46282        (WebCore::GraphicsContext::setShadow):
46283        (WebCore::GraphicsContext::clearShadow):
46284        (WebCore::GraphicsContext::getShadow):
46285        (WebCore::GraphicsContext::strokeThickness):
46286        (WebCore::GraphicsContext::strokeStyle):
46287        (WebCore::GraphicsContext::strokeColor):
46288        (WebCore::GraphicsContext::strokeColorSpace):
46289        (WebCore::GraphicsContext::fillRule):
46290        (WebCore::GraphicsContext::setFillRule):
46291        (WebCore::GraphicsContext::setFillColor):
46292        (WebCore::GraphicsContext::fillColor):
46293        (WebCore::GraphicsContext::fillColorSpace):
46294        (WebCore::GraphicsContext::setShouldAntialias):
46295        (WebCore::GraphicsContext::shouldAntialias):
46296        (WebCore::GraphicsContext::state):
46297        (WebCore::GraphicsContext::setStrokePattern):
46298        (WebCore::GraphicsContext::setFillPattern):
46299        (WebCore::GraphicsContext::setStrokeGradient):
46300        (WebCore::GraphicsContext::setFillGradient):
46301        (WebCore::GraphicsContext::fillGradient):
46302        (WebCore::GraphicsContext::strokeGradient):
46303        (WebCore::GraphicsContext::fillPattern):
46304        (WebCore::GraphicsContext::strokePattern):
46305        (WebCore::GraphicsContext::setShadowsIgnoreTransforms):
46306        (WebCore::GraphicsContext::updatingControlTints):
46307        (WebCore::GraphicsContext::setUpdatingControlTints):
46308        (WebCore::GraphicsContext::setPaintingDisabled):
46309        (WebCore::GraphicsContext::paintingDisabled):
46310        (WebCore::GraphicsContext::textDrawingMode):
46311        (WebCore::GraphicsContext::setTextDrawingMode):
46312        * platform/graphics/GraphicsContext.h:
46313        (WebCore::GraphicsContextState::GraphicsContextState):
46314        * platform/graphics/GraphicsContextPrivate.h: Removed.
46315        * platform/graphics/cairo/GraphicsContextCairo.cpp:
46316        (WebCore::setPlatformFill):
46317        (WebCore::setPlatformStroke):
46318        (WebCore::drawPathShadow):
46319        (WebCore::fillCurrentCairoPath):
46320        (WebCore::strokeCurrentCairoPath):
46321        (WebCore::GraphicsContext::platformInit):
46322        (WebCore::GraphicsContext::platformDestroy):
46323        (WebCore::GraphicsContext::fillPath):
46324        (WebCore::GraphicsContext::strokePath):
46325        (WebCore::GraphicsContext::fillRect):
46326        (WebCore::GraphicsContext::setPlatformShadow):
46327        (WebCore::GraphicsContext::strokeRect):
46328        (WebCore::GraphicsContext::setAlpha):
46329        (WebCore::GraphicsContext::getAlpha):
46330        * platform/graphics/cg/GraphicsContextCG.cpp:
46331        (WebCore::GraphicsContext::platformInit):
46332        (WebCore::GraphicsContext::platformDestroy):
46333        (WebCore::GraphicsContext::applyStrokePattern):
46334        (WebCore::GraphicsContext::applyFillPattern):
46335        (WebCore::GraphicsContext::drawPath):
46336        (WebCore::GraphicsContext::fillPath):
46337        (WebCore::GraphicsContext::strokePath):
46338        (WebCore::GraphicsContext::fillRect):
46339        (WebCore::GraphicsContext::setPlatformShadow):
46340        (WebCore::GraphicsContext::strokeRect):
46341        * platform/graphics/haiku/GraphicsContextHaiku.cpp:
46342        (WebCore::GraphicsContext::platformInit):
46343        (WebCore::GraphicsContext::platformDestroy):
46344        * platform/graphics/openvg/GraphicsContextOpenVG.cpp:
46345        (WebCore::GraphicsContext::platformInit):
46346        (WebCore::GraphicsContext::platformDestroy):
46347        (WebCore::GraphicsContext::fillPath):
46348        (WebCore::GraphicsContext::strokePath):
46349        (WebCore::GraphicsContext::clip):
46350        (WebCore::GraphicsContext::clipOut):
46351        (WebCore::GraphicsContext::addInnerRoundedRectClip):
46352        * platform/graphics/qt/GraphicsContextQt.cpp:
46353        (WebCore::GraphicsContext::platformInit):
46354        (WebCore::GraphicsContext::platformDestroy):
46355        (WebCore::GraphicsContext::fillPath):
46356        (WebCore::GraphicsContext::strokePath):
46357        (WebCore::GraphicsContext::fillRect):
46358        (WebCore::GraphicsContext::setPlatformShadow):
46359        * platform/graphics/skia/GraphicsContextSkia.cpp:
46360        (WebCore::GraphicsContext::platformInit):
46361        (WebCore::GraphicsContext::platformDestroy):
46362        (WebCore::GraphicsContext::fillPath):
46363        (WebCore::GraphicsContext::setPlatformShadow):
46364        * platform/graphics/win/GraphicsContextCGWin.cpp:
46365        (WebCore::GraphicsContext::platformInit):
46366        * platform/graphics/win/GraphicsContextCairoWin.cpp:
46367        (WebCore::GraphicsContext::platformInit):
46368        * platform/graphics/wince/GraphicsContextWinCE.cpp:
46369        (WebCore::GraphicsContext::platformInit):
46370        (WebCore::GraphicsContext::platformDestroy):
46371        (WebCore::GraphicsContext::fillPath):
46372        (WebCore::GraphicsContext::fillRect):
46373        * platform/graphics/wx/GraphicsContextWx.cpp:
46374        (WebCore::GraphicsContext::platformInit):
46375        (WebCore::GraphicsContext::platformDestroy):
46376
463772010-12-07  Anton Muhin  <antonm@chromium.org>
46378
46379        Reviewed by Nate Chapin.
46380
46381        Port http://trac.webkit.org/changeset/72819/ to v8-backed ports.
46382        https://bugs.webkit.org/show_bug.cgi?id=50246
46383
46384        * bindings/v8/V8DOMMap.h:
46385        (WebCore::AbstractWeakReferenceMap::Visitor::startMap):
46386        (WebCore::AbstractWeakReferenceMap::Visitor::endMap):
46387        (WebCore::WeakReferenceMap::visit):
46388        * bindings/v8/V8GCController.cpp:
46389        (WebCore::GrouperItem::GrouperItem):
46390        (WebCore::GrouperItem::groupId):
46391        (WebCore::makeV8ObjectGroups):
46392        (WebCore::NodeGrouperVisitor::NodeGrouperVisitor):
46393        (WebCore::NodeGrouperVisitor::visitDOMWrapper):
46394        (WebCore::NodeGrouperVisitor::applyGrouping):
46395        (WebCore::DOMObjectGrouperVisitor::ObjectGrouperVisitor):
46396        (WebCore::DOMObjectGrouperVisitor::startMap):
46397        (WebCore::DOMObjectGrouperVisitor::endMap):
46398        (WebCore::DOMObjectGrouperVisitor::visitDOMWrapper):
46399        (WebCore::V8GCController::gcPrologue):
46400
464012010-12-07  Daniel Bates  <dbates@rim.com>
46402
46403        Reviewed by Martin Robinson.
46404
46405        Implement focus ring support for image maps
46406        https://bugs.webkit.org/show_bug.cgi?id=50371
46407
46408        Implement GraphicsContext::drawFocusRing(const Path&, ...) so as to support
46409        drawing a focus ring for image maps.
46410
46411        Tests: fast/images/imagemap-circle-focus-ring.html
46412               fast/images/imagemap-polygon-focus-ring.html
46413
46414        * platform/graphics/cairo/GraphicsContextCairo.cpp:
46415        (WebCore::adjustFocusRingColor): Added.
46416        (WebCore::adjustFocusRingLineWidth): Added.
46417        (WebCore::focusRingStrokeStyle): Added.
46418        (WebCore::GraphicsContext::drawFocusRing): Moved code for determining focus ring- color,
46419        line width and stroke style into functions adjustFocusRingColor(), adjustFocusRingLineWidth(),
46420        and focusRingStrokeStyle(), respectively. Implemented GraphicsContext::drawFocusRing(const Path&, ...).
46421
464222010-12-07  Sergio Villar Senin  <svillar@igalia.com>
46423
46424        Reviewed by Xan Lopez.
46425
46426        [GTK] WebKitSoupCache fails to load resources when cache contents are externally removed
46427        https://bugs.webkit.org/show_bug.cgi?id=50577
46428
46429        Try to download cached resources again if they are no longer
46430        accesible by the cache.
46431
46432        * platform/network/soup/cache/soup-request-http.c:
46433        (send_async_cb):
46434        (webkit_soup_request_http_send_async):
46435
464362010-12-06  MORITA Hajime  <morrita@google.com>
46437
46438        Reviewed by Dimitri Glazkov.
46439
46440        RenderIndicator subclasses should not change the render tree during layout.
46441        https://bugs.webkit.org/show_bug.cgi?id=50026
46442
46443        The old code created shadow elements during a layout computation,
46444        that makes the layout state inconsisntent and cause an assertion failure. 
46445        This change created shadow elements before the layout to avoid  
46446        state inconsistencies.
46447        
46448        Instead of creating shadows on demand, RenderMeter and
46449        RenderProgress now create all necessary shadows before layouts,
46450        and change its visibilities during the layout: Changing
46451        visibilities doesn't trigger relayout and keep the state
46452        consistent.
46453        
46454        RenderMeter uses new HidablePartElement for shadow elements,
46455        which can toggle visibiliby between hidden and original value.
46456
46457        Test: fast/dom/HTMLMeterElement/meter-element-crash.html
46458
46459        * html/HTMLMeterElement.cpp:
46460        (WebCore::HTMLMeterElement::attach): Calling updateFromElement()
46461        * html/HTMLMeterElement.h:
46462        * html/HTMLProgressElement.cpp:
46463        (WebCore::HTMLProgressElement::attach): Calling updateFromElement()
46464        * html/HTMLProgressElement.h:
46465        * rendering/RenderIndicator.cpp:
46466        * rendering/RenderIndicator.h:
46467        * rendering/RenderMeter.cpp:
46468        (WebCore::MeterPartElement::MeterPartElement): Added to hold a restorable visibility.
46469        (WebCore::MeterPartElement::createForPart):
46470        (WebCore::MeterPartElement::hide):
46471        (WebCore::MeterPartElement::restoreVisibility):
46472        (WebCore::MeterPartElement::updateStyleForPart):
46473        (WebCore::MeterPartElement::saveVisibility):
46474        (WebCore::RenderMeter::~RenderMeter):
46475        (WebCore::RenderMeter::createPart): Extracted
46476        (WebCore::RenderMeter::updateFromElement): Had a shadow generation.
46477        (WebCore::RenderMeter::layoutParts): Removed shadow generation code.
46478        (WebCore::RenderMeter::shouldHaveParts):
46479        (WebCore::RenderMeter::valuePartRect): Adopted orientation.
46480        (WebCore::RenderMeter::orientation): Morphed from isHorizontal()
46481        (WebCore::RenderMeter::valuePseudoId): Adoptedn orientation
46482        (WebCore::RenderMeter::barPseudoId): Adopted orientation.
46483        * rendering/RenderMeter.h:
46484        (WebCore::RenderMeter::shadowAttached):
46485        * rendering/RenderProgress.cpp:
46486        (WebCore::RenderProgress::updateFromElement): Had a shadow generation.
46487        (WebCore::RenderProgress::layoutParts):
46488        * rendering/RenderProgress.h:
46489        * rendering/ShadowElement.cpp:
46490        (WebCore::ShadowBlockElement::createForPart): Extracted initAsPart().
46491        (WebCore::ShadowBlockElement::initAsPart): Extracted from createForPart().
46492        * rendering/ShadowElement.h:
46493
464942010-11-29  Mihai Parparita  <mihaip@chromium.org>
46495
46496        Reviewed by Adam Barth.
46497
46498        returning to a POST result within a frame does a GET instead of a POST
46499        https://bugs.webkit.org/show_bug.cgi?id=10199
46500        
46501        FrameLoader::loadURLIntoChildFrame had a check for whether a frame
46502        had a HistoryItem, and if so used that item's URL. However, that did
46503        not handle the case where the HistoryItem had FormData and thus was the
46504        result of a POST request. FrameLoader::navigateToDifferentDocument (now
46505        renamed to loadDifferentDocumentItem) does all that, so just switch to
46506        using it instead.
46507        
46508        Besides the bug fix, the only difference in behavior is that we use the
46509        HistoryItem's URL instead of original URL when restoring it in a child
46510        frame. This seems desirable too (for consistency with other browsers, and
46511        so that we can avoid form double-submits for forms that that do
46512        POST-then-redirect), and is tested by
46513        fast/history/history-back-initial-vs-final-url.html.
46514        
46515        Tests: fast/history/history-back-initial-vs-final-url.html
46516               http/tests/navigation/post-frames-goback1.html
46517               http/tests/navigation/postredirect-frames-goback1.html
46518
46519        * loader/FrameLoader.cpp:
46520        (WebCore::FrameLoader::loadURLIntoChildFrame): Switch to using
46521            loadDifferentDocumentItem. Also cleaned up ordering slightly (if
46522            on the archive path, there's no need to do any of the other checks).
46523        (WebCore::FrameLoader::loadDifferentDocumentItem): Renamed from
46524            navigateToDifferentDocument so that calling it from loadItem and
46525            loadURLIntoChildFrame flows more easily.
46526        (WebCore::FrameLoader::loadSameDocumentItem): Similarly, renamed from
46527            navigateWithinDocument.
46528        (WebCore::FrameLoader::loadItem): Update callsites to the above methods.
46529        * loader/FrameLoader.h:
46530
465312010-12-07  Dan Bernstein  <mitz@apple.com>
46532
46533        Reviewed by Darin Adler.
46534
46535        Made tables repaint correctly in all writing modes
46536        Part of: Make tables work with vertical text
46537        https://bugs.webkit.org/show_bug.cgi?id=46417
46538
46539        Tests: fast/repaint/table-writing-modes-h.html
46540               fast/repaint/table-writing-modes-v.html
46541
46542        * rendering/RenderTableSection.cpp:
46543        (WebCore::RenderTableSection::paintObject): Compute the ranges of rows and
46544        columns to repaint based on the logical extent of the repaint rect.
46545
465462010-12-07  Alexey Marinichev  <amarinichev@chromium.org>
46547
46548        Reviewed by James Robinson.
46549
46550        [chromium] compositor lost context recovery fix
46551        https://bugs.webkit.org/show_bug.cgi?id=50614
46552
46553        To test, load a page that triggers the compositor, kill the GPU
46554        process and hover over a link to redraw and thus restart the GPU
46555        process.  Without this patch it will assert in
46556        ContentLayerChromium::updateTextureRect; with this patch it will not.
46557
46558        * platform/graphics/chromium/LayerChromium.cpp:
46559        (WebCore::LayerChromium::setNeedsDisplay):
46560
465612010-12-07  Anders Carlsson  <andersca@apple.com>
46562
46563        Fix the last clang++ build error.
46564
46565        * platform/graphics/ca/mac/PlatformCALayerMac.mm:
46566        (PlatformCALayer::animationForKey):
46567        Cast the returned animation to the correct type.
46568
465692010-12-07  Anders Carlsson  <andersca@apple.com>
46570
46571        Fix some clang++ build errors.
46572
46573        * platform/graphics/ca/GraphicsLayerCA.cpp:
46574        (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer):
46575        Remove unused variable.
46576
46577        * platform/graphics/ca/mac/PlatformCAAnimationMac.mm:
46578        * platform/graphics/ca/mac/PlatformCALayerMac.mm:
46579        Fix constness of pointers.
46580
465812010-12-07  Simon Fraser  <simon.fraser@apple.com>
46582
46583        Reviewed by Chris Marrin.
46584
46585        Fix the Color -> CGColorRef conversions for the debug colors
46586        used for compositing layers.
46587
46588        * platform/graphics/ca/mac/PlatformCALayerMac.mm:
46589        (PlatformCALayer::setBackgroundColor):
46590        (PlatformCALayer::setBorderColor):
46591
465922010-12-07  Brian Weinstein  <bweinstein@apple.com>
46593
46594        Reviewed by John Sullivan.
46595
46596        Part of Layering Violation in ContextMenu
46597        https://bugs.webkit.org/show_bug.cgi?id=50586
46598        
46599        ContextMenuMac.mm had a WebCoreMenuTarget class, which was responsible for wrapping
46600        a ContextMenuItem, and calling through to the ContextMenuController to validate it
46601        and call a function when it was selected.
46602        
46603        It was a layering violation to have this class here, because ContextMenu can't know
46604        about ContextMenuController.
46605        
46606        This patch moves the class that wraps the ContextMenuItems to WebKit/mac/WebHTMLView.mm,
46607        and sets up the menu targets there.
46608
46609        No change in behavior, no new tests.
46610
46611        * WebCore.exp.in: Added function that needs to be exported.
46612        * platform/mac/ContextMenuMac.mm:
46613        (WebCore::ContextMenu::ContextMenu): Don't set the sharedMenuTarget anymore.
46614        (WebCore::ContextMenu::appendItem): Don't call setMenuItemTarget (this is done in WebKit now).
46615        (WebCore::ContextMenu::insertItem): Ditto.
46616
466172010-12-07  Simon Fraser  <simon.fraser@apple.com>
46618
46619        Reviewed by Dan Bernstein.
46620
46621        -webkit-transition Fails on Multiple text-shadow Shadows
46622        https://bugs.webkit.org/show_bug.cgi?id=42281
46623        
46624        When transitioning multiple shadows, the blend function for
46625        ShadowData dropped all but the first and last shadow because
46626        of a failure to append to the end of the list. Fixed.
46627
46628        Test: transitions/multiple-text-shadow-transition.html
46629
46630        * page/animation/AnimationBase.cpp:
46631        (WebCore::PropertyWrapperShadow::blend):
46632
466332010-12-07  Simon Fraser  <simon.fraser@apple.com>
46634
46635        Reviewed by Beth Dakin.
46636
46637        CSS animation doesn't work for border-radius
46638        https://bugs.webkit.org/show_bug.cgi?id=48340
46639        
46640        Include CSSPropertyBorderRadius in the list of shorthand
46641        properties, so that the individual border-radius properties
46642        get animated.
46643
46644        Test: transitions/border-radius-transition.html
46645
46646        * page/animation/AnimationBase.cpp:
46647        (WebCore::addShorthandProperties):
46648
466492010-12-07  Maciej Stachowiak  <mjs@apple.com>
46650
46651        Reviewed by Kent Tamura.
46652
46653        Implement HTML5 hidden attribute
46654        https://bugs.webkit.org/show_bug.cgi?id=40511
46655
46656        Test: fast/html/hidden-attr.html
46657
46658        * html/HTMLElement.cpp:
46659        (WebCore::HTMLElement::mapToEntry): Pick up hidden as a global mapped attribute.
46660        (WebCore::HTMLElement::parseMappedAttribute): Map hidden attribute to display: none.
46661
466622010-12-07  Kenneth Russell  <kbr@google.com>
46663
46664        Reviewed by David Levin.
46665
46666        Fix compilation of core web audio files on Windows
46667        https://bugs.webkit.org/show_bug.cgi?id=50603
46668
46669        Changed a few constructs using C99 features of math.h to use
46670        wtf/MathExtras.h instead. Changed inline definitions of a couple of
46671        const static doubles in classes to out-of-line. Built Chrome with
46672        web audio enabled on Windows and Mac OS X to test these changes.
46673
46674        No new tests since audio API is not yet implemented.
46675
46676        * WebCore.gypi:
46677        * platform/audio/AudioResampler.cpp:
46678        * platform/audio/Biquad.cpp:
46679        (WebCore::Biquad::setLowpassParams):
46680        (WebCore::Biquad::setHighpassParams):
46681        (WebCore::Biquad::setLowShelfParams):
46682        * platform/audio/Cone.cpp:
46683        (WebCore::ConeEffect::gain):
46684        * platform/audio/EqualPowerPanner.cpp:
46685        (WebCore::EqualPowerPanner::pan):
46686        * platform/audio/FFTFrame.cpp:
46687        (WebCore::FFTFrame::interpolateFrequencyComponents):
46688        (WebCore::FFTFrame::extractAverageGroupDelay):
46689        (WebCore::FFTFrame::addConstantGroupDelay):
46690        * platform/audio/HRTFKernel.cpp:
46691        * platform/audio/HRTFPanner.cpp:
46692        * webaudio/AudioBufferSourceNode.cpp:
46693        (WebCore::AudioBufferSourceNode::readFromBufferWithGrainEnvelope):
46694        * webaudio/AudioPannerNode.cpp:
46695        (WebCore::AudioPannerNode::getAzimuthElevation):
46696        * webaudio/AudioParam.cpp: Added.
46697        (AudioParam::setValue):
46698        (AudioParam::smooth):
46699        * webaudio/AudioParam.h:
46700        * webaudio/RealtimeAnalyser.cpp:
46701
467022010-11-25  Philippe Normand  <pnormand@igalia.com>
46703
46704        Reviewed by Martin Robinson.
46705
46706        [GStreamer] faster elements linking
46707        https://bugs.webkit.org/show_bug.cgi?id=50067
46708
46709        Perform less checks during GStreamer elements linking if building
46710        against GStreamer >= 0.10.30.
46711
46712        * platform/graphics/gstreamer/GStreamerGWorld.cpp:
46713        (WebCore::GStreamerGWorld::enterFullscreen):
46714        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
46715        (WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin):
46716
467172010-12-07  Philippe Normand  <pnormand@igalia.com>
46718
46719        Reviewed by Gustavo Noronha Silva.
46720
46721        [GStreamer] ::buffered() should return multiple ranges in some cases
46722        https://bugs.webkit.org/show_bug.cgi?id=45101
46723
46724        Improved the ::buffered() method thanks to the new buffering query
46725        support that landed in GStreamer 0.10.31. The method now
46726        queries the media buffered-ranges on the pipeline and queue2
46727        handles it if it's buffering the media to disk.
46728
46729        The webkitwebsrc element also gained BYTES duration query
46730        support. This is needed in the rare cases where uridecodebin
46731        configures its queue before the HTTP server returns the media
46732        Content-Length.
46733
46734        Test: http/tests/media/video-buffered.html
46735
46736        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
46737        (WebCore::MediaPlayerPrivateGStreamer::buffered):
46738        * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
46739        (webkit_web_src_init):
46740        (webKitWebSrcQuery): Make webkitwebsrc handle the duration queries
46741        if it's aware of the media content-length.
46742        * platform/gtk/RenderThemeGtk.cpp:
46743        (WebCore::RenderThemeGtk::paintMediaSliderTrack): Fix position of
46744        the second and next buffered ranges.
46745
467462010-12-07  Yael Aharon  <yael.aharon@nokia.com>
46747
46748        Reviewed by Antonio Gomes.
46749
46750        Spatial navigation not Working for Map and Area Tags
46751        https://bugs.webkit.org/show_bug.cgi?id=47142
46752
46753        Give area elements special treatment in spatial navigation algorithm by getting the
46754        rect of the area from the associated image. Since area elements are likely to overlap
46755        if they are not rects, or if authors are not careful, we flatten the rect of area elements.
46756
46757        Tests: fast/spatial-navigation/snav-imagemap-area-not-focusable.html
46758               fast/spatial-navigation/snav-imagemap-area-without-image.html
46759               fast/spatial-navigation/snav-imagemap-overlapped-areas.html
46760               fast/spatial-navigation/snav-imagemap-simple.html
46761
46762        * page/FocusController.cpp:
46763        (WebCore::FocusController::findFocusCandidateInContainer):
46764        (WebCore::FocusController::advanceFocusDirectionallyInContainer):
46765        (WebCore::FocusController::advanceFocusDirectionally):
46766        * page/SpatialNavigation.cpp:
46767        (WebCore::FocusCandidate::FocusCandidate):
46768        (WebCore::virtualRectForDirection):
46769        (WebCore::virtualRectForAreaElementAndDirection):
46770        * page/SpatialNavigation.h:
46771        (WebCore::FocusCandidate::FocusCandidate):
46772
467732010-12-07  Darin Adler  <darin@apple.com>
46774
46775        Try to fix V8 build.
46776
46777        * bindings/generic/BindingDOMWindow.h:
46778        (WebCore::BindingDOMWindow::createWindow): Pass security origin.
46779
467802010-12-07  Darin Adler  <darin@apple.com>
46781
46782        Another build fix.
46783
46784        * loader/CrossOriginAccessControl.cpp: Added a missing include.
46785
467862010-12-07  Darin Adler  <darin@apple.com>
46787
46788        Try to fix build.
46789
46790        * plugins/PluginView.cpp:
46791        (WebCore::PluginView::start): Pass security origin.
46792        (WebCore::PluginView::getURLNotify): Ditto.
46793        (WebCore::PluginView::getURL): Ditto.
46794        (WebCore::PluginView::handlePost): Ditto.
46795
467962010-12-06  Darin Adler  <darin@apple.com>
46797
46798        Reviewed by Sam Weinig.
46799
46800        Pass security origin to make local file decision correctly
46801        https://bugs.webkit.org/show_bug.cgi?id=48603
46802
46803        * bindings/generic/BindingDOMWindow.h:
46804        (WebCore::BindingDOMWindow::createWindow): Pass security origin.
46805        (WebCore::BindingDOMWindow::open): Ditto.
46806        * bindings/generic/BindingFrame.h:
46807        (WebCore::BindingFrame::navigateIfAllowed): Ditto.
46808
46809        * bindings/js/JSDOMWindowCustom.cpp:
46810        (WebCore::JSDOMWindow::setLocation): Pass security origin.
46811        (WebCore::createWindow): Ditto.
46812        (WebCore::JSDOMWindow::open): Ditto.
46813
46814        * bindings/js/JSDocumentCustom.cpp:
46815        (WebCore::JSDocument::setLocation): Pass security origin.
46816
46817        * dom/Document.cpp:
46818        (WebCore::Document::processHttpEquiv): Pass security origin.
46819
46820        * inspector/InspectorController.cpp:
46821        (WebCore::InspectorController::openInInspectedWindow):
46822        Pass security origin.
46823
46824        * loader/FrameLoader.cpp:
46825        (WebCore::FrameLoader::changeLocation): Added a security origin
46826        argument, passed through to urlSelected.
46827        (WebCore::FrameLoader::urlSelected): Replaced the resource request
46828        and frame name arguments with a frame load request arguments in one
46829        overload, and changed the other overload to pass in the current
46830        frame's document for the security origin.
46831        (WebCore::FrameLoader::loadFrameRequest): Moved the canDisplay
46832        check before the referrer computation because it no longer needs
46833        to look at the referrer. Replaced the call to canDisplay that
46834        used the target frame's security origin and the call to
46835        deprecatedCanDisplay with a single call to canDisplay that uses
46836        the requester security origin.
46837
46838        * loader/FrameLoader.h: Updated for argument changes above.
46839
46840        * loader/NavigationScheduler.cpp:
46841        (WebCore::ScheduledURLNavigation::ScheduledURLNavigation): Added
46842        a security origin.
46843        (WebCore::ScheduledURLNavigation::fire): Pass the security origin
46844        in to FrameLoader::changeLocation.
46845        (WebCore::ScheduledURLNavigation::securityOrigin): Added.
46846        (WebCore::ScheduledRedirect::ScheduledRedirect): Added a security
46847        origin argument.
46848        (WebCore::ScheduledLocationChange::ScheduledLocationChange): Ditto.
46849        (WebCore::ScheduledRefresh::ScheduledRefresh): Ditto.
46850        (WebCore::ScheduledRefresh::fire): Pass the security origin in to
46851        FrameLoader::changeLocation.
46852        (WebCore::ScheduledFormSubmission::fire): Include the security
46853        origin when constructing form submission.
46854        (WebCore::NavigationScheduler::scheduleRedirect): Include the security
46855        origin when creating the scheduled navigation object.
46856        (WebCore::NavigationScheduler::scheduleLocationChange): Ditto.
46857        (WebCore::NavigationScheduler::scheduleRefresh): Ditto.
46858
46859        * loader/NavigationScheduler.h: Added the security origin argument
46860        to scheduleLocationChange.
46861
46862        * loader/SubframeLoader.cpp:
46863        (WebCore::SubframeLoader::loadOrRedirectSubframe): Pass in the security
46864        origin when calling scheduleLocationChange.
46865        * loader/appcache/ApplicationCacheGroup.cpp:
46866        (WebCore::ApplicationCacheGroup::selectCache): Ditto.
46867
46868        * page/ContextMenuController.cpp:
46869        (WebCore::openNewWindow): Pass in the security origin.
46870        (WebCore::ContextMenuController::contextMenuItemSelected): Ditto.
46871
46872        * page/FrameLoadRequest.h: Added a security origin called the requester
46873        to all FrameLoadRequest objects.
46874
46875        * page/XSSAuditor.cpp:
46876        (WebCore::XSSAuditor::findInRequest): Added the security origin.
46877
468782010-12-07  Yury Semikhatsky  <yurys@chromium.org>
46879
46880        Reviewed by Pavel Feldman.
46881
46882        Web Inspector: avoid initializing Context on when creating attaching listener to ScriptDebugServer
46883        https://bugs.webkit.org/show_bug.cgi?id=50627
46884
46885        * bindings/v8/ScriptDebugServer.cpp:
46886        (WebCore::ScriptDebugServer::addListener): don't try to collect already parsed scripts if context has
46887        not been initialized yet.
46888
468892010-12-07  Csaba Osztrogonác  <ossy@webkit.org>
46890
46891        Unreviewed. Rolling out r73421, because it made transitions/color-transition-all.html flakey.
46892
46893        * page/animation/AnimationBase.cpp:
46894        (WebCore::addShorthandProperties):
46895
468962010-12-07  Martin Robinson  <mrobinson@igalia.com>
46897
46898        Unreviewed, rolling out r73392.
46899        http://trac.webkit.org/changeset/73392
46900        https://bugs.webkit.org/show_bug.cgi?id=50489
46901
46902        This commit caused crashes on the GTK+ bots
46903
46904        * bindings/ScriptControllerBase.cpp:
46905        (WebCore::ScriptController::executeIfJavaScriptURL):
46906        * dom/Document.cpp:
46907        (WebCore::Document::Document):
46908        (WebCore::Document::close):
46909        (WebCore::Document::lastModified):
46910        (WebCore::Document::finishedParsing):
46911        (WebCore::Document::initSecurityContext):
46912        (WebCore::Document::updateURLForPushOrReplaceState):
46913        * dom/Document.h:
46914        * dom/ProcessingInstruction.cpp:
46915        (WebCore::ProcessingInstruction::checkStyleSheet):
46916        * dom/ScriptElement.cpp:
46917        (WebCore::ScriptElement::scriptCharset):
46918        * html/HTMLLinkElement.cpp:
46919        (WebCore::HTMLLinkElement::process):
46920        * html/MediaDocument.cpp:
46921        (WebCore::MediaDocument::replaceMediaElementTimerFired):
46922        * html/PluginDocument.cpp:
46923        (WebCore::PluginDocumentParser::createDocumentStructure):
46924        * loader/DocumentLoader.cpp:
46925        (WebCore::DocumentLoader::DocumentLoader):
46926        (WebCore::DocumentLoader::finishedLoading):
46927        (WebCore::DocumentLoader::commitData):
46928        (WebCore::DocumentLoader::setupForReplaceByMIMEType):
46929        (WebCore::DocumentLoader::setFrame):
46930        * loader/DocumentLoader.h:
46931        * loader/DocumentWriter.cpp:
46932        (WebCore::DocumentWriter::begin):
46933        * loader/DocumentWriter.h:
46934        * loader/FrameLoader.cpp:
46935        (WebCore::FrameLoader::FrameLoader):
46936        (WebCore::FrameLoader::init):
46937        (WebCore::FrameLoader::clear):
46938        (WebCore::FrameLoader::receivedFirstData):
46939        (WebCore::FrameLoader::transitionToCommitted):
46940        (WebCore::FrameLoader::open):
46941        (WebCore::FrameLoader::finishedLoadingDocument):
46942        (WebCore::FrameLoader::addExtraFieldsToRequest):
46943        * loader/FrameLoader.h:
46944        (WebCore::FrameLoader::writer):
46945        * loader/cache/CachedResourceLoader.cpp:
46946        (WebCore::CachedResourceLoader::requestPreload):
46947        * platform/network/FormDataBuilder.cpp:
46948        (WebCore::FormDataBuilder::encodingFromAcceptCharset):
46949        * svg/graphics/SVGImage.cpp:
46950        (WebCore::SVGImage::dataChanged):
46951
469522010-12-07  Patrick Gansterer  <paroga@webkit.org>
46953
46954        Reviewed by Andreas Kling.
46955
46956        [CMake] Remove WebKitGenerators
46957        https://bugs.webkit.org/show_bug.cgi?id=50445
46958
46959        Move remaining logic into main CMakeLists.txt.
46960
46961        * CMakeLists.txt:
46962
469632010-12-07  Justin Schuh  <jschuh@chromium.org>
46964
46965        Reviewed by Nikolas Zimmermann.
46966
46967        Clear old SVG cursor entry before adding a new one
46968        https://bugs.webkit.org/show_bug.cgi?id=50549
46969
46970        Test: svg/css/cursor-replace.svg
46971
46972        * css/CSSCursorImageValue.cpp:
46973        (WebCore::CSSCursorImageValue::~CSSCursorImageValue):
46974        * svg/SVGCursorElement.cpp:
46975        (WebCore::SVGCursorElement::~SVGCursorElement):
46976        (WebCore::SVGCursorElement::removeClient):
46977        (WebCore::SVGCursorElement::removeReferencedElement):
46978        * svg/SVGCursorElement.h:
46979        * svg/SVGElement.cpp:
46980        (WebCore::SVGElement::setCursorElement):
46981        (WebCore::SVGElement::cursorElementRemoved):
46982        (WebCore::SVGElement::setCursorImageValue):
46983        (WebCore::SVGElement::cursorImageElementRemoved):
46984        * svg/SVGElement.h:
46985
469862010-12-07  Kenichi Ishibashi  <bashi@google.com>
46987
46988        Reviewed by Kent Tamura.
46989
46990        Let HTMLObjectElement be a form associated element
46991        https://bugs.webkit.org/show_bug.cgi?id=48821
46992
46993        Introduces FormAssociatedElement class which would be a super class
46994        of form assocated elements. Some of member functions and variables of
46995        HTMLFormControlElement are migrated into this class.
46996        Following the HTML5 spec, HTMLFormControlElement class and
46997        HTMLObjectElement class are subclasses of it for now.
46998
46999        Test: fast/forms/form-collection-elements-order.html
47000
47001        * Android.mk: Added FormAssociatedElement.cpp
47002        * CMakeLists.txt: Ditto.
47003        * GNUmakefile.am: Added FormAssociatedElement.{cpp,h}
47004        * WebCore.exp.in: Added the symbol for toHTMLElement(FormAssociatedElement*)
47005        * WebCore.gypi: Added FormAssociatedElement.{cpp,h}
47006        * WebCore.pro: Ditto.
47007        * WebCore.vcproj/WebCore.vcproj: Ditto.
47008        * WebCore.xcodeproj/project.pbxproj: Ditto.
47009        * dom/CheckedRadioButtons.h: Fixed class forward declaration order.
47010        * dom/Document.cpp:
47011        (WebCore::Document::registerFormElementWithFormAttribute): Modified to
47012        use FormAssociatedElement instead of HTMLFormControlElement
47013        (WebCore::Document::unregisterFormElementWithFormAttribute): Ditto.
47014        (WebCore::Document::resetFormElementsOwner):
47015        * dom/Document.h: Ditto.
47016        * html/DOMFormData.cpp: Ditto.
47017        (WebCore::DOMFormData::DOMFormData):
47018        * html/FormAssociatedElement.cpp: Copied and renamed from WebCore/html/HTMLFormControlElement.cpp.
47019        (WebCore::FormAssociatedElement::FormAssociatedElement):
47020        (WebCore::FormAssociatedElement::~FormAssociatedElement):
47021        (WebCore::FormAssociatedElement::validity):
47022        (WebCore::FormAssociatedElement::insertedIntoTree):
47023        (WebCore::FormAssociatedElement::removedFromTree):
47024        (WebCore::FormAssociatedElement::removeFromForm):
47025        (WebCore::FormAssociatedElement::resetFormOwner):
47026        (WebCore::FormAssociatedElement::formAttributeChanged):
47027        (WebCore::toHTMLElement):
47028        * html/FormAssociatedElement.h: Ditto.
47029        (WebCore::FormAssociatedElement::ref):
47030        (WebCore::FormAssociatedElement::deref):
47031        (WebCore::FormAssociatedElement::formDestroyed):
47032        (WebCore::FormAssociatedElement::setForm):
47033        * html/HTMLElement.h: Changed the access level of findFormAncestor().
47034        * html/HTMLFormCollection.cpp:
47035        (WebCore::HTMLFormCollection::item): Modified to use FormAssociatedElement
47036        instead of HTMLFormControlElement.
47037        (WebCore::HTMLFormCollection::getNamedFormItem): Ditto.
47038        (WebCore::HTMLFormCollection::updateNameCache): Ditto.
47039        * html/HTMLFormControlElement.cpp: Modified regarding with the change of class
47040        hierarchy.
47041        (WebCore::HTMLFormControlElement::HTMLFormControlElement):
47042        (WebCore::HTMLFormControlElement::~HTMLFormControlElement):
47043        (WebCore::HTMLFormControlElement::insertedIntoTree):
47044        (WebCore::HTMLFormControlElement::removedFromTree):
47045        (WebCore::HTMLFormControlElement::supportsFocus):
47046        (WebCore::HTMLFormControlElement::checkValidity):
47047        (WebCore::HTMLFormControlElement::virtualForm):
47048        (WebCore::HTMLFormControlElement::isDefaultButtonForForm):
47049        (WebCore::HTMLFormControlElement::attributeChanged):
47050        * html/HTMLFormControlElement.h: Ditto.
47051        (WebCore::HTMLFormControlElement::form):
47052        (WebCore::HTMLFormControlElement::disabled):
47053        (WebCore::HTMLFormControlElement::type):
47054        (WebCore::HTMLFormControlElement::refFormAssociatedElement):
47055        (WebCore::HTMLFormControlElement::derefFormAssociatedElement):
47056        * html/HTMLFormElement.cpp: Modified to use FormAssociatedElement
47057        instead of HTMLFormControlElement.
47058        (WebCore::HTMLFormElement::submitImplicitly):
47059        (WebCore::HTMLFormElement::validateInteractively):
47060        (WebCore::HTMLFormElement::submit):
47061        (WebCore::HTMLFormElement::reset):
47062        (WebCore::HTMLFormElement::formElementIndexWithFormAttribute):
47063        (WebCore::HTMLFormElement::formElementIndex):
47064        (WebCore::HTMLFormElement::registerFormElement):
47065        (WebCore::HTMLFormElement::removeFormElement):
47066        (WebCore::HTMLFormElement::defaultButton):
47067        (WebCore::HTMLFormElement::checkValidity):
47068        (WebCore::HTMLFormElement::collectUnhandledInvalidControls):
47069        (WebCore::HTMLFormElement::documentDidBecomeActive):
47070        * html/HTMLFormElement.h: Ditto.
47071        (WebCore::HTMLFormElement::associatedElements):
47072        * html/HTMLInputElement.cpp: Ditto.
47073        (WebCore::HTMLInputElement::updateCheckedRadioButtons):
47074        * html/HTMLObjectElement.cpp: Modified regarding with the change of class
47075        hierarchy.
47076        (WebCore::HTMLObjectElement::HTMLObjectElement):
47077        (WebCore::HTMLObjectElement::~HTMLObjectElement):
47078        (WebCore::HTMLObjectElement::create):
47079        (WebCore::HTMLObjectElement::attributeChanged):
47080        (WebCore::HTMLObjectElement::insertedIntoTree):
47081        (WebCore::HTMLObjectElement::removedFromTree):
47082        (WebCore::HTMLObjectElement::appendFormData):
47083        (WebCore::HTMLObjectElement::formControlName):
47084        * html/HTMLObjectElement.h: Ditto.
47085        (WebCore::HTMLObjectElement::form):
47086        (WebCore::HTMLObjectElement::isFormControlElement):
47087        (WebCore::HTMLObjectElement::isEnumeratable):
47088        (WebCore::HTMLObjectElement::refFormAssociatedElement):
47089        (WebCore::HTMLObjectElement::derefFormAssociatedElement):
47090        * html/HTMLTagNames.in: Added constructorNeedsFormElement to object tag.
47091        * html/ValidationMessage.cpp: Modified to use FormAssociatedElement
47092        instead of HTMLFormControlElement.
47093        (WebCore::ValidationMessage::ValidationMessage):
47094        (WebCore::ValidationMessage::create):
47095        * html/ValidationMessage.h: Ditto.
47096        * html/ValidityState.cpp: Ditto.
47097        (WebCore::ValidityState::validationMessage):
47098        (WebCore::ValidityState::setCustomErrorMessage):
47099        (WebCore::ValidityState::valueMissing):
47100        (WebCore::ValidityState::typeMismatch):
47101        (WebCore::ValidityState::patternMismatch):
47102        (WebCore::ValidityState::tooLong):
47103        (WebCore::ValidityState::rangeUnderflow):
47104        (WebCore::ValidityState::rangeOverflow):
47105        (WebCore::ValidityState::stepMismatch):
47106        * html/ValidityState.h: Ditto.
47107        (WebCore::ValidityState::create):
47108        (WebCore::ValidityState::ValidityState):
47109        * loader/FormSubmission.cpp: Ditto.
47110        (WebCore::FormSubmission::create):
47111
471122010-12-06  Pavel Feldman  <pfeldman@chromium.org>
47113
47114        Not reviewed. Rolling out r72988 for breaking iframes.
47115
47116        * css/CSSImportRule.cpp:
47117        (WebCore::CSSImportRule::insertedIntoParent):
47118
471192010-12-06  Hironori Bono  <hbono@chromium.org>
47120
47121        Reviewed by David Levin.
47122
47123        [Chromium] Refactor FontCacheChromiumWin.cpp
47124        https://bugs.webkit.org/show_bug.cgi?id=50611
47125        
47126        This change just moved the helper functions for the WebCore::FontCache class to the beginning of ths file.
47127
47128        No new tests are added since this is a refactoring.
47129
47130        * platform/graphics/chromium/FontCacheChromiumWin.cpp:
47131        (WebCore::fontDataFromDescriptionAndLogFont): Moved to the beginning of the file.
47132        (WebCore::toGDIFontWeight): Moved to the beginning of the file.
47133        (WebCore::FillLogFont): Moved to the beginning of the file.
47134        (WebCore::TraitsInFamilyProcData::TraitsInFamilyProcData): Moved to the beginning of the file.
47135        (WebCore::traitsInFamilyEnumProc): Moved to the beginning of the file.
47136        (WebCore::FontCache::platformInit): Moved after the static functions.
47137
471382010-12-06  Alexey Marinichev  <amarinichev@chromium.org>
47139
47140        Reviewed by Kenneth Russell.
47141
47142        Throw webglcontextlost and webglcontextrestored events when a WebGL context is lost and restored.
47143        https://bugs.webkit.org/show_bug.cgi?id=50364
47144
47145        No new tests since there is currently no way to force a context lost event.
47146
47147        * html/canvas/WebGLRenderingContext.cpp:
47148        (WebCore::WebGLRenderingContext::WebGLRenderingContextRestoreTimer::fired):
47149        (WebCore::WebGLRenderingContext::create):
47150        (WebCore::WebGLRenderingContext::WebGLRenderingContext):
47151        (WebCore::WebGLRenderingContext::isContextLost):
47152        (WebCore::WebGLRenderingContext::loseContext):
47153        (WebCore::WebGLRenderingContext::restoreContext):
47154        * html/canvas/WebGLRenderingContext.h:
47155        (WebCore::WebGLRenderingContext::WebGLRenderingContextRestoreTimer::WebGLRenderingContextRestoreTimer):
47156
471572010-12-06  David Hyatt  <hyatt@apple.com>
47158
47159        Reviewed by Simon Fraser.
47160
47161        https://bugs.webkit.org/show_bug.cgi?id=50593
47162        
47163        Fix background canvas painting for documents with left/top overflow.  The math from the original RTL patch was incorrect.
47164        
47165        Just use the RenderView's document dimensions always.
47166
47167        * rendering/RenderBox.cpp:
47168        (WebCore::RenderBox::paintRootBoxDecorations):
47169
471702010-12-06  Simon Fraser  <simon.fraser@apple.com>
47171
47172        Reviewed by Beth Dakin.
47173
47174        CSS animation doesn't work for border-radius
47175        https://bugs.webkit.org/show_bug.cgi?id=48340
47176        
47177        Include CSSPropertyBorderRadius in the list of shorthand
47178        properties, so that the individual border-radius properties
47179        get animated.
47180
47181        Test: transitions/border-radius-transition.html
47182
47183        * page/animation/AnimationBase.cpp:
47184        (WebCore::addShorthandProperties):
47185
471862010-12-06  Ryosuke Niwa  <rniwa@webkit.org>
47187
47188        Reviewed by Tony Chang.
47189
47190        ApplyStyleCommand should take EditingStyle instead of CSSStyleDeclaration
47191        https://bugs.webkit.org/show_bug.cgi?id=49938
47192
47193        Modified ApplyStyleCommand::ApplyStyleCommand and ApplyStyleCommand::create to take EditingStyle*
47194        instead of CSSStyleDeclaration*. Also replaced much of code in Editor::computeAndSetTypingStyle
47195        by calls to EditingStyle's member functions and extracted EditingStyle::overrideWith and
47196        EditingStyle::extractAndRemoveBlockProperties.
47197
47198        No new tests are added since this is a refactoring.
47199
47200        * WebCore.exp.in: Added SelectionController::copyTypingStyle and EditingStyle::~EditingStyle.
47201        * css/CSSMutableStyleDeclaration.cpp: Made CSSMutableStyleDeclaration* in the argument list const.
47202        (WebCore::CSSMutableStyleDeclaration::merge):
47203        * css/CSSMutableStyleDeclaration.h:
47204        * editing/ApplyStyleCommand.cpp:
47205        (WebCore::ApplyStyleCommand::ApplyStyleCommand): Takes EditingStyle* instead of CSSStyleDeclaration*.
47206        (WebCore::ApplyStyleCommand::doApply): Uses EditingStyle.
47207        * editing/ApplyStyleCommand.h: m_style is now a ref-pointer to EditingStyle instead of CSSMutableStyleDeclaration.
47208        (WebCore::ApplyStyleCommand::create): Takes EditingStyle* instead of CSSStyleDeclaration*.
47209        * editing/CompositeEditCommand.cpp:
47210        (WebCore::CompositeEditCommand::applyStyle): Ditto.
47211        (WebCore::CompositeEditCommand::moveParagraphs): Calls applyStyle.
47212        (WebCore::CompositeEditCommand::breakOutOfEmptyListItem): Ditto.
47213        * editing/CompositeEditCommand.h:
47214        * editing/DeleteSelectionCommand.cpp:
47215        (WebCore::DeleteSelectionCommand::calculateTypingStyleAfterDelete): Ditto.
47216        * editing/EditCommand.cpp:
47217        * editing/EditCommand.h:
47218        * editing/EditingStyle.cpp:
47219        (WebCore::EditingStyle::~EditingStyle): Added.
47220        (WebCore::EditingStyle::overrideWithStyle): Extracted from Editor::calculateTypingStyleAfterDelete.
47221        (WebCore::EditingStyle::copy): Added.
47222        (WebCore::EditingStyle::extractAndRemoveBlockProperties): Extracted from Editor::calculateTypingStyleAfterDelete.
47223        * editing/EditingStyle.h:
47224        * editing/Editor.cpp:
47225        (WebCore::Editor::applyStyle): Calls ApplyStyleCommand::create.
47226        (WebCore::Editor::applyParagraphStyle): Ditto.
47227        (WebCore::Editor::computeAndSetTypingStyle): Ditto.
47228        * editing/InsertLineBreakCommand.cpp:
47229        (WebCore::InsertLineBreakCommand::doApply): Calls applyStyle.
47230        * editing/InsertParagraphSeparatorCommand.cpp:
47231        (WebCore::InsertParagraphSeparatorCommand::applyStyleAfterInsertion): Ditto.
47232        * editing/InsertTextCommand.cpp:
47233        (WebCore::InsertTextCommand::input): Ditto.
47234        * editing/RemoveFormatCommand.cpp:
47235        (WebCore::RemoveFormatCommand::doApply): Calls ApplyStyleCommand::create.
47236        * editing/ReplaceSelectionCommand.cpp:
47237        (WebCore::ReplaceSelectionCommand::completeHTMLReplacement): Calls applyStyle.
47238        * editing/SelectionController.cpp:
47239        (WebCore::SelectionController::copyTypingStyle): Moved from SelectionController.h
47240        * editing/SelectionController.h:
47241
472422010-12-05  Ryosuke Niwa  <rniwa@webkit.org>
47243
47244        Reviewed by Tony Chang.
47245
47246        Executing FormatBlock on multiple paragraphs inside pre does not remove the outer pre
47247        https://bugs.webkit.org/show_bug.cgi?id=47300
47248
47249        The bug was caused by FormatBlockCommand::formatRange's not removing refNode when the refNode
47250        contains more than one paragraphs even when the refNode is fully selected.
47251
47252        Fixed the bug by modifying FormatBlockCommand::formatRange to correctly remove the node in
47253        such a situation.
47254
47255        Also fixed a bug in ApplyBlockElementCommand::formatSelection that the end of selection
47256        is not properly updated when the end of selection resides in the node split by
47257        rangeForParagraphSplittingTextNodesIfNeeded or endOfNextParagrahSplittingTextNodesIfNeeded.
47258
47259        Test: editing/execCommand/format-block-multiple-paragraphs-in-pre.html
47260
47261        * editing/ApplyBlockElementCommand.cpp:
47262        (WebCore::ApplyBlockElementCommand::formatSelection): Calls formatRange with m_endOfLastParagraph.
47263        (WebCore::ApplyBlockElementCommand::rangeForParagraphSplittingTextNodesIfNeeded): Updates
47264        m_endOfLastParagraph when the position points to the node split by this function.
47265        (WebCore::ApplyBlockElementCommand::endOfNextParagrahSplittingTextNodesIfNeeded): Ditto.
47266        * editing/ApplyBlockElementCommand.h: Added m_endOfLastParagraph as a member variable.
47267        * editing/FormatBlockCommand.cpp:
47268        (WebCore::FormatBlockCommand::formatRange): See above.
47269        * editing/FormatBlockCommand.h:
47270        * editing/IndentOutdentCommand.cpp:
47271        (WebCore::IndentOutdentCommand::formatRange): Ignores the end of selection.
47272        * editing/IndentOutdentCommand.h:
47273
472742010-12-03  Zhenyao Mo  <zmo@google.com>
47275
47276        Reviewed by Kenneth Russell.
47277
47278        Postpone gl delete* calls until shaders/programs are no longer attached
47279        https://bugs.webkit.org/show_bug.cgi?id=50501
47280
47281        * html/canvas/WebGLBuffer.cpp:
47282        (WebCore::WebGLBuffer::deleteObjectImpl): Simply delete GL resource.
47283        * html/canvas/WebGLFramebuffer.cpp:
47284        (WebCore::WebGLFramebuffer::deleteObjectImpl): Ditto.
47285        * html/canvas/WebGLObject.cpp:
47286        (WebCore::WebGLObject::deleteObject): Tracking whether deleteObjectImpl should be called or not.
47287        * html/canvas/WebGLObject.h:
47288        (WebCore::WebGLObject::detachContext): Set attachmentCount to 0 to ensure OpenGL resource deletion.
47289        (WebCore::WebGLObject::onDetached): No need to track attachmentCount here as we track it in deleteObject.
47290        (WebCore::WebGLObject::isDeleted): Make this public.
47291        * html/canvas/WebGLProgram.cpp:
47292        (WebCore::WebGLProgram::deleteObjectImpl): Simply delete GL resource.
47293        * html/canvas/WebGLRenderbuffer.cpp:
47294        (WebCore::WebGLRenderbuffer::deleteObjectImpl): Ditto.
47295        * html/canvas/WebGLRenderingContext.cpp:
47296        (WebCore::WebGLRenderingContext::getProgramParameter): intercept DELETE_STATUS.
47297        (WebCore::WebGLRenderingContext::getShaderParameter): Ditto.
47298        * html/canvas/WebGLShader.cpp:
47299        (WebCore::WebGLShader::deleteObjectImpl): Simply delete GL resource.
47300        * html/canvas/WebGLTexture.cpp:
47301        (WebCore::WebGLTexture::deleteObjectImpl): Simply delete GL resource.
47302
473032010-12-06  Ryosuke Niwa  <rniwa@webkit.org>
47304
47305        Yet unreviewed another Leopard build fix for r73380.
47306
47307        * platform/graphics/ca/mac/PlatformCAAnimationMac.mm:
47308        (PlatformCAAnimation::setKeyTimes):
47309        * platform/graphics/ca/mac/PlatformCALayerMac.mm:
47310        (PlatformCALayer::platformCALayer):
47311
473122010-12-06  Andy Estes  <aestes@apple.com>
47313
47314        Reviewed by Darin Adler.
47315
47316        Marquee elements do not stop animating when scrollAmount is set to 0.
47317        https://bugs.webkit.org/show_bug.cgi?id=50434
47318
47319        Test: fast/html/marquee-scrollamount.html
47320
47321        * rendering/RenderMarquee.cpp:
47322        (WebCore::RenderMarquee::timerFired): Allow increment to be 0.
47323
473242010-12-06  Ryosuke Niwa  <rniwa@webkit.org>
47325
47326        Unreviewed Leopard buildfix for r73380.
47327
47328        * platform/graphics/ca/mac/PlatformCAAnimationMac.mm:
47329        (PlatformCAAnimation::setTimingFunctions):
47330        * platform/graphics/ca/mac/PlatformCALayerMac.mm:
47331        (PlatformCALayer::PlatformCALayer):
47332
473332010-12-06  Philippe Normand  <pnormand@igalia.com>
47334
47335        Reviewed by Martin Robinson.
47336
47337        [GStreamer] use ResourceHandle::setDefersLoading in WebKitWebSourceGStreamer
47338        https://bugs.webkit.org/show_bug.cgi?id=44157
47339
47340        * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
47341        (webKitWebSrcNeedDataMainCb):
47342        (webKitWebSrcEnoughDataMainCb): Replaced platform-specific code
47343        with cross-platform ResourceHandle::setDefersLoading calls.
47344
473452010-12-06  Ryosuke Niwa  <rniwa@webkit.org>
47346
47347        Unreviewed Leopard build fix for r73388.
47348
47349        * accessibility/AccessibilitySlider.cpp:
47350        (WebCore::AccessibilitySlider::maxValueForRange):
47351        (WebCore::AccessibilitySlider::minValueForRange):
47352
473532010-12-06  Ryosuke Niwa  <rniwa@webkit.org>
47354
47355        Unreviewed build fix for Leopard after r73379.
47356
47357        * platform/graphics/cg/GraphicsContextCG.cpp:
47358        (WebCore::GraphicsContext::setAllowsFontSmoothing):
47359
473602010-12-06  Nate Chapin  <japhet@chromium.org>
47361
47362        Reviewed by Adam Barth.
47363
47364        Make DocumentWriter a member of DocumentLoader
47365        instead of FrameLoader.
47366        https://bugs.webkit.org/show_bug.cgi?id=50489
47367
47368        Refactor, no new tests.
47369
47370        * bindings/ScriptControllerBase.cpp:
47371        (WebCore::ScriptController::executeIfJavaScriptURL):
47372        * dom/Document.cpp:
47373        (WebCore::Document::Document):
47374        (WebCore::Document::close):
47375        (WebCore::Document::lastModified):
47376        (WebCore::Document::finishedParsing):
47377        (WebCore::Document::initSecurityContext):
47378        (WebCore::Document::updateURLForPushOrReplaceState):
47379        * dom/Document.h:
47380        (WebCore::Document::setDocumentLoader):
47381        (WebCore::Document::loader):
47382        * dom/ProcessingInstruction.cpp:
47383        (WebCore::ProcessingInstruction::checkStyleSheet):
47384        * dom/ScriptElement.cpp:
47385        (WebCore::ScriptElement::scriptCharset):
47386        * html/HTMLLinkElement.cpp:
47387        (WebCore::HTMLLinkElement::process):
47388        * html/MediaDocument.cpp:
47389        (WebCore::MediaDocument::replaceMediaElementTimerFired):
47390        * html/PluginDocument.cpp:
47391        (WebCore::PluginDocumentParser::createDocumentStructure):
47392        * loader/DocumentLoader.cpp:
47393        (WebCore::DocumentLoader::DocumentLoader):
47394        (WebCore::DocumentLoader::finishedLoading):
47395        (WebCore::DocumentLoader::commitData):
47396        (WebCore::DocumentLoader::setupForReplaceByMIMEType):
47397        (WebCore::DocumentLoader::setFrame):
47398        * loader/DocumentLoader.h:
47399        (WebCore::DocumentLoader::writer):
47400        * loader/DocumentWriter.h:
47401        (WebCore::DocumentWriter::setFrame):
47402        * loader/FrameLoader.cpp:
47403        (WebCore::FrameLoader::FrameLoader):
47404        (WebCore::FrameLoader::init):
47405        (WebCore::FrameLoader::clear):
47406        (WebCore::FrameLoader::receivedFirstData):
47407        (WebCore::FrameLoader::transitionToCommitted):
47408        (WebCore::FrameLoader::open):
47409        (WebCore::FrameLoader::finishedLoadingDocument):
47410        (WebCore::FrameLoader::addExtraFieldsToRequest):
47411        * loader/FrameLoader.h:
47412        (WebCore::FrameLoader::notifier):
47413        * loader/cache/CachedResourceLoader.cpp:
47414        (WebCore::CachedResourceLoader::requestPreload):
47415        * platform/network/FormDataBuilder.cpp:
47416        (WebCore::FormDataBuilder::encodingFromAcceptCharset):
47417        * svg/graphics/SVGImage.cpp:
47418        (WebCore::SVGImage::dataChanged):
47419
474202010-12-06  Mark Rowe  <mrowe@apple.com>
47421
47422        Build fix.
47423
47424        * WebCore.xcodeproj/project.pbxproj: Don't force WebCore to build against the 10.5 SDK.
47425        That's just plain wrong.
47426
474272010-12-06  Chris Fleizach  <cfleizach@apple.com>
47428
47429        Reviewed by Darin Adler.
47430
47431        HTML5 Slider does not work correctly with VoiceOver
47432        https://bugs.webkit.org/show_bug.cgi?id=50505
47433
47434        Address a few problems with the Mac implementation for the accessibility slider.
47435            1) The value indicator is not hit testable.
47436            2) The value indicator does not return an AXValue.
47437            3) In the slider, the min/max values are not correct when min/max attributes are not present.
47438            4) When you change the value with the keyboard, it doesn't send out the right notification.
47439            5) Sliders were returning AXValue and AXTopLevelUIElement attributes twice in their list of attributes.
47440 
47441        Test: platform/mac/accessibility/html-slider-indicator.html
47442
47443        * accessibility/AccessibilityObject.cpp:
47444        (WebCore::AccessibilityObject::getAttribute):
47445            Use fastGetAttribute on Element, instead of getAttribute.
47446        * accessibility/AccessibilityObject.h:
47447        (WebCore::AccessibilityObject::isInputSlider):
47448        * accessibility/AccessibilityRenderObject.cpp:
47449        (WebCore::AccessibilityRenderObject::doAccessibilityHitTest):
47450        * accessibility/AccessibilitySlider.cpp:
47451        (WebCore::AccessibilitySlider::doAccessibilityHitTest):
47452        (WebCore::AccessibilitySlider::maxValueForRange):
47453        (WebCore::AccessibilitySlider::minValueForRange):
47454        * accessibility/AccessibilitySlider.h:
47455        (WebCore::AccessibilitySlider::isInputSlider):
47456        * accessibility/mac/AccessibilityObjectWrapper.mm:
47457        (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
47458        (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
47459        * html/HTMLInputElement.cpp:
47460        (WebCore::HTMLInputElement::applyStep):
47461
474622010-12-06  David Hyatt  <hyatt@apple.com>
47463
47464        Reviewed by Simon Fraser.
47465
47466        Fix for https://bugs.webkit.org/show_bug.cgi?id=49220 <<rdar://problem/8644849>, REGRESSION: transforms now
47467        O(n^3) from pathological behavior in lowestPosition, rightmostPosition, leftmostPosition and topmostPosition.
47468
47469        This patch throws out the lowest/rightmost/leftmost/topmostPosition functions and re-architects layout overflow
47470        in the engine to cache all the information required to properly handle scrolling.
47471
47472        In the old code, there were two types of overflow: layout overflow and visual overflow.  The former could
47473        affect scrolling and the latter could not.  The distinction was largely meaningless, since layout overflow
47474        wasn't actually used to determine scroll width or scroll height.  It didn't propagate across self-painting layer
47475        boundaries either.  In the old code, the term visible overflow meant the union of the layout overflow and
47476        visual overflow rects.
47477
47478        In the new code, the two types of overflow remain, but the distinction between the two is now clear.  Visual overflow
47479        is used purely for painting and hit testing checks and layout overflow is used specifically for scrolling.  It has
47480        been expanded to propagate across self-painting layers, to factor in relative positioning and transforms, and to
47481        work with writing modes.
47482
47483        In order to minimize layout test changes, layers no longer incorporate right/bottom overflow into their width/height members.
47484        Doing so uncovered two bugs where left/top overflow was ignored (proof that even having layer dimensions is harmful).
47485        A render tree dump hack has been put into the code to keep this overflow dumping for the RenderView's layer, since otherwise
47486        a huge number of tests would change.
47487
47488        Added fast/overflow/overflow-rtl-vertical.html to test vertical writing-mode overflow.  Existing tests cover the rest.
47489
47490        * page/FrameView.cpp:
47491        (WebCore::FrameView::adjustViewSize):
47492        (WebCore::FrameView::forceLayoutForPagination):
47493        Changed to use RenderView's docTop/Left/Width/Height accessors, which simply grab the overflow and properly flip it
47494        to account for writing modes.
47495
47496        * platform/graphics/IntRect.h:
47497        (WebCore::IntRect::shiftLeftEdgeTo):
47498        (WebCore::IntRect::shiftRightEdgeTo):
47499        (WebCore::IntRect::shiftTopEdgeTo):
47500        (WebCore::IntRect::shiftBottomEdgeTo):
47501        New helper functions for sliding the edge of a rectangle without moving any of the other three edges.
47502
47503        * rendering/InlineBox.h:
47504        (WebCore::InlineBox::frameRect):
47505        frameRect is a helper for obtaining the x, y, width, height of an InlineBox as an IntRect.
47506
47507        * rendering/InlineFlowBox.cpp:
47508        (WebCore::InlineFlowBox::placeBoxesInInlineDirection):
47509        All of the overflow setting in the inline direction has been removed from this function.  All line overflow is computed
47510        at once now in a single function: computeOverflow.
47511
47512        (WebCore::InlineFlowBox::addBoxShadowVisualOverflow):
47513        (WebCore::InlineFlowBox::addTextBoxVisualOverflow):
47514        (WebCore::InlineFlowBox::addReplacedChildOverflow):
47515        Helper for propagating overflow from specific types of children that occur on a line into the InlineFlowBox's overflow.
47516
47517        (WebCore::InlineFlowBox::computeOverflow):
47518        The new function that computes both horizontal and vertical overflow for a line box.
47519
47520        (WebCore::InlineFlowBox::setLayoutOverflow):
47521        (WebCore::InlineFlowBox::setVisualOverflow):
47522        (WebCore::InlineFlowBox::setOverflowFromLogicalRects):
47523        New functions that set the overflow computed by computeOverflow.  These replace setBlockDirectionOverflowPositions
47524        and setInlineDirectionOverflowPositions.  They essentially do the same thing, but they operate on rectangles.
47525
47526        (WebCore::InlineFlowBox::nodeAtPoint):
47527        (WebCore::InlineFlowBox::paint):
47528        Changed to use visual overflow instead of visible overflow.  (Visible overflow as a union of layout and visual
47529        overflow is no longer necessary, since visual overflow is now equivalent to the old visible overflow concept.)
47530
47531        * rendering/InlineFlowBox.h:
47532        (WebCore::InlineFlowBox::logicalLayoutOverflowRect):
47533        (WebCore::InlineFlowBox::logicalVisualOverflowRect):
47534        Helpers for obtaining logical overflow rectangles, since lines compute their overflow in logical terms before
47535        converting to block coordinates at the end.
47536
47537        * rendering/RenderBlock.cpp:
47538        (WebCore::RenderBlock::layoutBlock):
47539        (WebCore::RenderBlock::addOverflowFromChildren):
47540        (WebCore::RenderBlock::computeOverflow):
47541        (WebCore::RenderBlock::addOverflowFromFloats):
47542        (WebCore::RenderBlock::addOverflowFromPositionedObjects):
47543        Blocks now have a computeOverflow function called at the end of layout that adds in all the types of overflow.  The addOverflowFromChildren
47544        method is virtual so that RenderListItem and RenderTable can subclass it.  RenderListItem has to position its list marker and
47545        propagate marker overflow up, and RenderTable adds in overflow from its sections.
47546
47547        (WebCore::RenderBlock::layoutOnlyPositionedObjects):
47548        (WebCore::RenderBlock::layoutPositionedObjects):
47549        When only positioned objects lay out, overflow must still be recomputed.  The refactoring of overflow computation into a single
47550        callable method: computeOverflow, makes it possible for this to be done easily.
47551
47552        (WebCore::RenderBlock::paint):
47553        visible -> visual.
47554
47555        (WebCore::RenderBlock::addOverhangingFloats):
47556        The propagation of float overflow has changed substantially.  The basic rules are:
47557            (1) The float must be in our floating objects list to contribute to overflow.
47558            (2) The float must be a descendant to contribute to overflow.
47559            (3) The block must have the outermost list that contains the float, or it has a self-painting layer and
47560                so the float needs to be included in its overflow.
47561
47562        (WebCore::RenderBlock::nodeAtPoint):
47563        visible -> visual.
47564
47565        (WebCore::RenderBlock::layoutColumns):
47566        Remove column overflow computation from layoutColumns and move it to computeOverflow.
47567
47568        (WebCore::RenderBlock::adjustLinePositionForPagination):
47569        visible -> visual.
47570
47571        * rendering/RenderBlock.h:
47572        (WebCore::RenderBlock::scrollbarsChanged):
47573        Added a new virtual method used by table cells when scrollbars in an overflow:auto/scroll table cell come and go.
47574
47575        * rendering/RenderBlockLineLayout.cpp:
47576        (WebCore::RenderBlock::layoutInlineChildren):
47577        (WebCore::RenderBlock::determineStartPosition):
47578        (WebCore::RenderBlock::matchedEndLine):
47579        (WebCore::RenderBlock::addOverflowFromInlineChildren):
47580        (WebCore::RenderBlock::beforeSideVisualOverflowForLine):
47581        (WebCore::RenderBlock::afterSideVisualOverflowForLine):
47582        visible -> visual.
47583
47584        * rendering/RenderBox.cpp:
47585        (WebCore::RenderBox::scrollWidth):
47586        (WebCore::RenderBox::scrollHeight):
47587        Patched to use layoutOverflow functions instead of the old rightmost/leftmostPosition functions.
47588
47589        (WebCore::RenderBox::paintRootBoxDecorations):
47590        Use docLeft and docTop here, so that writing modes are handled.
47591
47592        (WebCore::RenderBox::clippedOverflowRectForRepaint):
47593        visible -> visual.
47594
47595        (WebCore::RenderBox::addOverflowFromChild):
47596        (WebCore::RenderBox::addLayoutOverflow):
47597        (WebCore::RenderBox::addVisualOverflow):
47598        (WebCore::RenderBox::logicalVisualOverflowRectForPropagation):
47599        (WebCore::RenderBox::visualOverflowRectForPropagation):
47600        (WebCore::RenderBox::logicalLayoutOverflowRectForPropagation):
47601        (WebCore::RenderBox::layoutOverflowRectForPropagation):
47602        * rendering/RenderBox.h:
47603        The new overflow system for boxes.  Layout overflow now crosses self-painting layer boundaries and adjusts child boxes
47604        for transforms, relative positioning and writing mode differences.
47605
47606        (WebCore::RenderBox::layoutOverflowRect):
47607        (WebCore::RenderBox::topLayoutOverflow):
47608        (WebCore::RenderBox::bottomLayoutOverflow):
47609        (WebCore::RenderBox::leftLayoutOverflow):
47610        (WebCore::RenderBox::rightLayoutOverflow):
47611        Changed the default rectangle for layout overflow to be the client box to match the scrollable areas of overflow regions.
47612
47613        (WebCore::RenderBox::clientLogicalBottom):
47614        New helper for obtaining the logical bottom of the client box.
47615
47616        (WebCore::RenderBox::clientBoxRect):
47617        New helper for obtaining the clientLeft/Top/Width/Height box.
47618
47619        * rendering/RenderBoxModelObject.h:
47620        (WebCore::RenderBoxModelObject::relativePositionLogicalOffset):
47621        Helper for obtaining the relative position offset transposed for vertical writing modes.  Used by line overflow.
47622
47623        * rendering/RenderFlexibleBox.cpp:
47624        (WebCore::RenderFlexibleBox::layoutBlock):
47625        Changed flexible boxes to just call the base class computeOverflow method.
47626
47627        * rendering/RenderInline.cpp:
47628        (WebCore::RenderInline::linesVisualOverflowBoundingBox):
47629        (WebCore::RenderInline::clippedOverflowRectForRepaint):
47630        visible -> visual.
47631
47632        * rendering/RenderInline.h:
47633        * rendering/RenderLayer.cpp:
47634        (WebCore::RenderLayer::updateLayerPosition):
47635        Changed layers to no longer incorporate right/bottom overflow into width/height.  This is the reason many layout
47636        tests change.  (Not doing this makes the layout test changes far worse, since overflow propagates across self-painting
47637        layers now.)
47638
47639        (WebCore::RenderLayer::overflowTop):
47640        (WebCore::RenderLayer::overflowBottom):
47641        (WebCore::RenderLayer::overflowLeft):
47642        (WebCore::RenderLayer::overflowRight):
47643        overflowTop/Bottom/Left/Right return overflow that accounts for writing modes, i.e., purely physical overflow that can be used
47644        to set up the scroll area.
47645
47646        (WebCore::RenderLayer::computeScrollDimensions):
47647        Drastically simplified this method now that overflowTop/Bottom/Left/Right just do the right thing regarding unreachable overflow.
47648
47649        (WebCore::RenderLayer::updateScrollInfoAfterLayout):
47650        Make sure to explicitly set the vertical scrollbar's position just as we did with horizontal scrollbars, so that clamping to the
47651        bottom works.
47652
47653        (WebCore::performOverlapTests):
47654        (WebCore::RenderLayer::paintLayer):
47655        Fix a bug in performOverlapTests.  It incorrectly used the layer's bounds, and so it didn't account for left/top overflow out
47656        of the layer (see why I hate layers even having dimensions?).  Changed it to use the bounding box of the layer instead.
47657
47658        (WebCore::RenderLayer::hitTest):
47659        Fix a bug in hit testing.  It incorrectly used the root layer's bounds as the limit of the hit test, and so it didn't account
47660        for left/top overflow in a ScrollView (hate hate hate layers having dimensions).  I changed it to use the hit test rect instead,
47661        so that the damage rect never stops the point from being tested (unless the hit test request says not to ignore clipping).
47662
47663        (WebCore::RenderLayer::localBoundingBox):
47664        visible -> visual.
47665
47666        * rendering/RenderLayer.h:
47667        Added the new overflowTop/Left/Right/Bottom accessors.
47668
47669        * rendering/RenderLineBoxList.cpp:
47670        (WebCore::RenderLineBoxList::anyLineIntersectsRect):
47671        (WebCore::RenderLineBoxList::lineIntersectsDirtyRect):
47672        (WebCore::RenderLineBoxList::paint):
47673        (WebCore::RenderLineBoxList::hitTest):
47674        visible -> visual.
47675
47676        * rendering/RenderListItem.cpp:
47677        (WebCore::RenderListItem::addOverflowFromChildren):
47678        (WebCore::RenderListItem::positionListMarker):
47679        * rendering/RenderListItem.h:
47680        RenderListItem now positions the list marker when computing its overflow, since the marker propagates overflow back up to the list item.
47681
47682        * rendering/RenderListMarker.cpp:
47683        (WebCore::RenderListMarker::paint):
47684        visible -> visual.
47685
47686        * rendering/RenderMarquee.cpp:
47687        (WebCore::RenderMarquee::computePosition):
47688        Changed to use overflow functions instead of rightmost/lowestPosition.
47689
47690        * rendering/RenderMedia.cpp:
47691        * rendering/RenderMedia.h:
47692        Removed the lowest/topmost/rightmost/leftmostPosition functions, since control overflow is handled properly already.
47693
47694        * rendering/RenderOverflow.h:
47695        (WebCore::RenderOverflow::RenderOverflow):
47696        (WebCore::RenderOverflow::setLayoutOverflow):
47697        (WebCore::RenderOverflow::setVisualOverflow):
47698        Add new setters for layout and visual overflow as rects.
47699
47700        * rendering/RenderReplaced.cpp:
47701        (WebCore::RenderReplaced::shouldPaint):
47702        (WebCore::RenderReplaced::clippedOverflowRectForRepaint):
47703        visible -> visual.
47704
47705        * rendering/RenderRubyRun.cpp:
47706        (WebCore::RenderRubyRun::layout):
47707        Call computeOverflow to recompute our overflow information after we adjust the ruby.
47708
47709        * rendering/RenderTable.cpp:
47710        (WebCore::RenderTable::layout):
47711        (WebCore::RenderTable::addOverflowFromChildren):
47712        (WebCore::RenderTable::paint):
47713        * rendering/RenderTable.h:
47714        Move section overflow propagation into addOverflowFromChildren, and change RenderTable to just call computeOverflow.
47715
47716        * rendering/RenderTableCell.cpp:
47717        (WebCore::RenderTableCell::clippedOverflowRectForRepaint):
47718        visible -> visual.
47719
47720        (WebCore::RenderTableCell::scrollbarsChanged):
47721        Adding unreachable overflow support (something that in the old code only existed for positioned objects in the root view) exposed
47722        a bug in table layout.  If scrollbars are added during the layout that occurs after intrinsic padding was incorporated into the
47723        cell, then the cell won't lay out properly the second time (after the scrollbars have been added).  We have to adjust the intrinsic
47724        padding accounting for the presence of the new scrollbar so the second layout will get the right dimensions.
47725
47726        * rendering/RenderTableCell.h:
47727        (WebCore::RenderTableCell::hasVisualOverflow):
47728        visible -> visual.
47729
47730        * rendering/RenderTableSection.cpp:
47731        (WebCore::RenderTableSection::layoutRows):
47732        * rendering/RenderTableSection.h:
47733        visible -> visual.  Removed the leftmost/rightmost/topmost/bottommostPosition functions.
47734
47735        * rendering/RenderTreeAsText.cpp:
47736        (WebCore::writeLayers):
47737        Added a hack to render tree dumping to include right/bottom overflow for the root layer only.  This keeps a zillion layout tests
47738        from failing.
47739
47740        * rendering/RenderView.cpp:
47741        (WebCore::RenderView::layout):
47742        (WebCore::RenderView::docTop):
47743        (WebCore::RenderView::docBottom):
47744        (WebCore::RenderView::docLeft):
47745        (WebCore::RenderView::docRight):
47746        * rendering/RenderView.h:
47747        (WebCore::RenderView::docHeight):
47748        (WebCore::RenderView::docWidth):
47749        RenderView now uses docLeft/Top/Height/Width functions, which are just overflow queries that account for writing modes.  These methods
47750        are now the preferred way to query for the physical dimensions of a document.
47751
47752        * rendering/RootInlineBox.cpp:
47753        (WebCore::RootInlineBox::addHighlightOverflow):
47754        Changed to call setOverflowFromLogicalRects instead of the block/inline position functions.
47755
47756        (WebCore::RootInlineBox::alignBoxesInBlockDirection):
47757        Remove the computation of block direction overflow, since it now all happens at once after the line is built.
47758
47759        (WebCore::RootInlineBox::paddedLayoutOverflowRect):
47760        * rendering/RootInlineBox.h:
47761        Added a new helper function for incorporating the end padding into a line.  This end padding also includes the single pixel for a caret
47762        in LTR if needed.
47763
477642010-12-06  Chris Marrin  <cmarrin@apple.com>
47765
47766        Reviewed by Simon Fraser.
47767
47768        Share code between Mac (CA) and Windows (CACF) GraphicsLayer implementations
47769        https://bugs.webkit.org/show_bug.cgi?id=49388
47770
47771        Replaced GraphicsLayerMac with GraphicsLayerCA. GraphicsLayerCA is essentially 
47772        identical to GraphicsLayerMac, but replaces all the CoreAnimation specific calls 
47773        with calls to PlatformCALayer and PlatformCAAnimation. This makes GraphicsLayerCA 
47774        platform neutral as long as implementations of those two classes are available. 
47775        Added implementations in PlatformCALayerMac and PlatformCAAnimationMac. Also got 
47776        rid of GraphicsLayer::nativeLayer() and replaced it with GraphicsLayer::platformLayer() 
47777        to avoid confusion since both names were used to refer to the same thing. 
47778
47779        This patch is only for Mac. Windows implementation has not changed.
47780
47781        * WebCore.xcodeproj/project.pbxproj:
47782        * platform/graphics/GraphicsLayer.h:
47783        * platform/graphics/ca/GraphicsLayerCA.cpp: Copied from WebCore/platform/graphics/ca/GraphicsLayerCA.cpp.
47784        * platform/graphics/ca/GraphicsLayerCA.h: Copied from WebCore/platform/graphics/ca/GraphicsLayerCA.h.
47785        * platform/graphics/ca/PlatformCAAnimation.h: Copied from WebCore/platform/graphics/ca/PlatformCAAnimation.h.
47786        * platform/graphics/ca/PlatformCALayer.h: Copied from WebCore/platform/graphics/ca/PlatformCALayer.h.
47787        * platform/graphics/ca/mac/PlatformCAAnimationMac.mm: Copied from WebCore/platform/graphics/ca/mac/PlatformCAAnimationMac.mm.
47788        (toCAMediaTimingFunction):
47789        * platform/graphics/ca/mac/PlatformCALayerMac.mm: Copied from WebCore/platform/graphics/ca/mac/PlatformCALayerMac.mm.
47790        (PlatformCALayer::PlatformCALayer):
47791        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
47792        * platform/graphics/chromium/GraphicsLayerChromium.h:
47793        * platform/graphics/mac/GraphicsLayerMac.h: Removed.
47794        * platform/graphics/mac/GraphicsLayerMac.mm: Removed.
47795        * platform/graphics/mac/WebLayer.h:
47796        * platform/graphics/mac/WebLayer.mm:
47797        (-[WebLayer setNeedsDisplay]):
47798        (-[WebLayer setNeedsDisplayInRect:]):
47799        (-[WebLayer display]):
47800        (-[WebLayer drawInContext:]):
47801        * platform/graphics/mac/WebTiledLayer.h:
47802        * platform/graphics/mac/WebTiledLayer.mm:
47803        (-[WebTiledLayer setNeedsDisplay]):
47804        (-[WebTiledLayer setNeedsDisplayInRect:]):
47805        (-[WebTiledLayer display]):
47806        (-[WebTiledLayer drawInContext:]):
47807        * platform/graphics/qt/GraphicsLayerQt.cpp:
47808        (WebCore::GraphicsLayerQtImpl::flushChanges):
47809        * platform/graphics/qt/GraphicsLayerQt.h:
47810        * platform/graphics/win/GraphicsLayerCACF.cpp:
47811        * platform/graphics/win/GraphicsLayerCACF.h:
47812
478132010-12-06  Simon Fraser  <simon.fraser@apple.com>
47814
47815        Reviewed by Dan Bernstein.
47816
47817        Font antialiasing (smoothing) changes when elements are rendered into compositing layers
47818        https://bugs.webkit.org/show_bug.cgi?id=23364
47819
47820        Text rendered by Core Graphics over a transparent background looks bad because of 
47821        font smoothing, so turn off smoothing when rendering text into compositing layers.
47822
47823        * platform/graphics/GraphicsContext.h:
47824        * platform/graphics/cg/GraphicsContextCG.cpp:
47825        (WebCore::GraphicsContext::setAllowsFontSmoothing):
47826        * platform/graphics/mac/WebLayer.mm:
47827        (drawLayerContents):
47828
478292010-12-06  Patrick Gansterer  <paroga@webkit.org>
47830
47831        Reviewed by Andreas Kling.
47832
47833        [WINCE] Add build system
47834        https://bugs.webkit.org/show_bug.cgi?id=50522
47835
47836        * CMakeListsWinCE.txt: Added.
47837
478382010-12-06  Chris Fleizach  <cfleizach@apple.com>
47839
47840        Reviewed by Oliver Hunt.
47841
47842        AX does not support HTML5 "required"
47843        https://bugs.webkit.org/show_bug.cgi?id=50507
47844
47845        Test: platform/mac/accessibility/html5-required-attribute.html
47846
47847        * accessibility/AccessibilityRenderObject.cpp:
47848        (WebCore::AccessibilityRenderObject::isRequired):
47849
478502010-12-06  Alejandro G. Castro  <alex@igalia.com>
47851
47852        Reviewed by Martin Robinson.
47853
47854        [GTK] using shadows leaks memory
47855        https://bugs.webkit.org/show_bug.cgi?id=50541
47856
47857        Fixed leaks in the shadow code.
47858        * platform/graphics/cairo/CairoUtilities.cpp:
47859        (WebCore::drawPatternToCairoContext): adoptRef instead of just
47860        getting a new reference.
47861        * platform/graphics/cairo/GraphicsContextCairo.cpp:
47862        (WebCore::drawPathShadow): handle cairo_path_t with smart
47863        pointers.
47864
478652010-12-06  Yury Semikhatsky  <yurys@chromium.org>
47866
47867        Reviewed by Pavel Feldman.
47868
47869        [v8] Web Inspector: remove duplicate code for capturing stack trace
47870        https://bugs.webkit.org/show_bug.cgi?id=50461
47871
47872        No new tests. Covered with existing inspector tests.
47873
47874        * bindings/js/ScriptCallStackFactory.cpp:
47875        (WebCore::createScriptCallStack):
47876        * bindings/js/ScriptCallStackFactory.h:
47877        * bindings/v8/ScriptCallStackFactory.cpp:
47878        (WebCore::toScriptCallFrame):
47879        (WebCore::toScriptCallFramesVector):
47880        (WebCore::createScriptCallStack):
47881        * bindings/v8/ScriptCallStackFactory.h:
47882        * bindings/v8/V8ConsoleMessage.cpp:
47883        (WebCore::V8ConsoleMessage::handler):
47884        * inspector/ScriptCallFrame.cpp:
47885        (WebCore::ScriptCallFrame::ScriptCallFrame):
47886        (WebCore::ScriptCallFrame::isEqual):
47887        (WebCore::ScriptCallFrame::buildInspectorObject):
47888        * inspector/ScriptCallFrame.h:
47889        (WebCore::ScriptCallFrame::sourceURL):
47890        * inspector/ScriptCallStack.h:
47891        * inspector/TimelineRecordFactory.cpp:
47892        (WebCore::TimelineRecordFactory::createGenericRecord):
47893        * inspector/front-end/ConsoleView.js:
47894        (WebInspector.ConsoleMessage.prototype._populateStackTraceTreeElement):
47895
47896== Rolled over to ChangeLog-2010-12-06 ==
47897